php-script werkt ineens niet meer

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

TypeScript developer (tot € 6.000, - bruto pe

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een ervaren Typecript developer die niet alleen zichzelf verder ontwikkelt, maar het ook leuk vinden om op termijn meer junior collega’s op pad te helpen. Je zult aan de slag gaan met het migreren van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde aan User Experience en kiezen ze duidelijk voor kwaliteit i.p.v. snelheid. Je krijgt dus de ruimte om vanuit gedegen onderzoek te werk te gaan en het borgen van kwaliteit staat hoog in het vaandel.

Bekijk vacature »

Medior/senior Fullstack developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

C++ Developer

Functieomschrijving Ben jij als software engineer toe aan een nieuwe uitdaging? Dan zijn wij op zoek naar jou! Voor het maken van de procesbesturingsoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Ontwerpen, programmeren en testen van productaanpassingen; Implementeren van nieuwe productreleases in de projectteams; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden,

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

(Junior) PHP Ontwikkelaar bij een retail bedrijf i

Bedrijfsomschrijving Ben jij een ervaren PHP ontwikkelaar met een passie voor retail en ICT? Wil jij werken in een team dat zich bezighoudt met het ontwikkelen van uitdagende applicaties voor een groot retailbedrijf in Delft? Dan zijn zij op zoek naar jou! Functieomschrijving Als PHP Ontwikkelaar werk je in een team aan de ontwikkeling van applicaties die door de gehele organisatie worden gebruikt. Je bent verantwoordelijk voor het ontwikkelen, testen en implementeren van deze applicaties. Je werkt hierbij nauw samen met andere ontwikkelaars, projectmanagers en stakeholders binnen de organisatie. Je taken bestaan onder andere uit: Ontwikkelen van nieuwe functionaliteiten en

Bekijk vacature »

SQL database ontwikkelaar

Functie omschrijving Ben jij niet bang voor complexe algoritmes? Schikt het schrijven van procedures in T-SQL jouw niet af en heb jij al de nodige informatie in SQL, dan is functie precies wat voor jou! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat werken aan de complexere projecten waar jij van A tot Z bij betrokken bent. Je gaat zorg dragen voor het ontwerp, de ontwikkeling en het updaten van SQL databases. Dit doe je op basis van T-SQL. Jij bent van start tot finish betrokken bij de projecten die jij leidt. Je houdt contact met klanten en

Bekijk vacature »

In-house .NET software developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house development functie? Maak jij graag hét verschil m.b.t. interne automatisering? Haal jij energie uit het automatiseren van processen voor je eigen collega's? Dan hebben wij de perfecte vacature voor je! Voor een gezellig Brabants familiebedrijf, zijn wij op zoek naar een .NET software developer. Je gaat in deze zelfstandige functie werken aan de ontwikkeling van eigen applicaties & en het koppelen van deze applicaties aan de ingekocht software. Jouw werkzaamheden zien er als volgt uit: Het management team signaleert behoeftes vanuit de business. Vervolgens worden deze behoeftes uitgewerkt en geprioriteerd.

Bekijk vacature »

Medior Front-end Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Medior Front-end Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

Front-end developer (Angular)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

Bekijk vacature »

Java Developer (Training And Simulation)

Wat jij doet Je zou onze Java Developer zijn en nauw samenwerken met je Product Owner, Software System Engineer, Scrum Master en andere Developers. Samen draag je bij aan een multidisciplinair en zelf organiserend Agile team. De rol is zeer afwisselend en bestaat uit, maar is zeker niet beperkt tot: de-risk en prototype onbewezen simulatietechnologieën; simulatiekaders ontwikkelen voor gebruik door andere teams; je bent goed in het begrijpen van ingewikkelde ideeën; heeft de mogelijkheid om nauw samen te werken met grote internationale klanten, leveranciers en overheden om onze oplossingen, vastleggingsvereisten, enz. te definiëren en te presenteren. Ben jij het? Wij

Bekijk vacature »

Consultant Low Code Developer

Functie omschrijving Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Voor een mooie opdrachtgever in omgeving Delft zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten. Onderdelen functie Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan Mendix of Betty Blocks. Je bent verantwoordelijk voor

Bekijk vacature »
Han Brouwer Keij

Han Brouwer Keij

04/04/2018 09:24:59
Quote Anchor link
Ik werk al 5 jaar met een script dat data ophaalt uit een site en vervolgens wegschrijft in een txt-file waarna er een grafiek van wordt getekend. Ik krijg opeens foutmeldingen in een error-file die binnen een dag volloopt tot 10GB (m'n maximale ruimte). De foutmelding die ik krijg geldt voor zowel feof (lijn 3) als fgets (lijn 4).
PHP-warning feof() expects parameter to be resource, boolean given in ....grafiek.inc.php line 24 en:
PHP-warning fgets() expects parameter to be resource, boolean given in ....grafiek.inc.php line 26.
Ik heb al gekeken of de data wel aanwezig is op de site en die is er. Ik heb ook al geprobeerd ofeen @ voor fopen het probleem oplost maar dat lukt niet. De php-versie die momenteel draait is 5.6.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$htmlfile
= fopen("https://gadgets.buienradar.nl/data/raintext?lat=52.8836&lon=6.9023","r");
$file_handle = fopen("neerslag.txt", "w");
while(![b]feof[/b]($htmlfile)){

$file_contents = [b]fgets[/b]($htmlfile);
fwrite( $file_handle, $file_contents);
}

fclose($htmlfile);
fclose($file_handle);
?>

Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 04/04/2018 10:05:19 door - Ariën -
 
PHP hulp

PHP hulp

06/01/2025 23:07:13
 
Adoptive Solution

Adoptive Solution

04/04/2018 09:52:37
Quote Anchor link
Wellicht is Warning 2 van toepassing.

http://php.net/manual/en/function.feof.php

Los het op met toevoegen van de volgende regel

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if ( !$htmlfile === FALSE ) {
 
- Ariën  -
Beheerder

- Ariën -

04/04/2018 10:06:39
Quote Anchor link
Een @ is overigens NOOIT de 'magic' oplossing om een fout te verhelpen. Je verhelpt de fout daar niet mee, maar je verbergt de foutmelding enkel.
 
Adoptive Solution

Adoptive Solution

04/04/2018 10:47:00
Quote Anchor link
Even voor de goede orde, met de code is niks mis, die werkt gewoon.

En de link naar buienradar ook :

https://gadgets.buienradar.nl/data/raintext?lat=51.5135872&lon=7.4652981
 
- Ariën  -
Beheerder

- Ariën -

04/04/2018 10:55:11
Quote Anchor link
Als ik in de error zie dat er een boolean wordt gegeven i.p.v. een resource doet mij het een vermoeden geven dat er ergens wat foutafhandeling mist.
 
Adoptive Solution

Adoptive Solution

04/04/2018 11:07:22
Quote Anchor link
Ik heb de oplossing gegeven op basis van het php artikel.
 
Han Brouwer Keij

Han Brouwer Keij

05/04/2018 14:05:28
Quote Anchor link
Adoptive Solution op 04/04/2018 11:07:22:
Ik heb de oplossing gegeven op basis van het php artikel.
 
- Ariën  -
Beheerder

- Ariën -

05/04/2018 14:06:16
Quote Anchor link
Han Brouwer Keij op 05/04/2018 14:05:28:
Adoptive Solution op 04/04/2018 11:07:22:
Ik heb de oplossing gegeven op basis van het php artikel.



Ik mis een reactie?
 
Han Brouwer Keij

Han Brouwer Keij

05/04/2018 14:08:31
Quote Anchor link
Ik heb de hele While-loop in de if statement geplaatst en dat zorgt er in ieder geval voor dat de grafiek weer wordt weergegeven maar zonder de data erin. De foutmeldingen blijven nog gewoon in de logfile komen.
 
Ben van Velzen

Ben van Velzen

05/04/2018 14:23:43
Quote Anchor link
Zijn fopen wrappers mogelijk uitgeschakeld? Welke warning komt uit fopen naar boven?
 
Han Brouwer Keij

Han Brouwer Keij

05/04/2018 14:37:10
Quote Anchor link
** quoteknip **

Ik heb geen idee hoe dat uitgeschakeld of ingeschakeld zou kunnen worden.
PHP-warning feof() expects parameter to be resource, boolean given in ....grafiek.inc.php line 24
Gewijzigd op 06/04/2018 11:53:32 door - Ariën -
 
Jacco Engel

Jacco Engel

05/04/2018 15:55:45
Quote Anchor link
Er is een php.ini instelling allow_url_fopen. Mogelijk is deze door je provider uit gezet? Makkelijkste manier om er achter te komen is even
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
phpinfo();
?>


in een tijdelijk script te zetten, en kijken of deze setting "On" of "Off" is
 
Han Brouwer Keij

Han Brouwer Keij

05/04/2018 16:11:51
Quote Anchor link
** quoteknip **

Die staat zowel voor local als master op off. Kan ik dat omzeilen?
Gewijzigd op 06/04/2018 11:53:14 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

05/04/2018 16:14:30
Quote Anchor link
Hoogstens via php.ini. Of je daar bij kan, is de vraag.
 
Ivo P

Ivo P

05/04/2018 16:38:16
Quote Anchor link
misschien mbv curl() ?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$url
= "https://gadgets.buienradar.nl/data/raintext?lat=52.8836&lon=6.9023";
$ch = curl_init();
    $timeout = 5;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $file_contents = curl_exec($ch);
    curl_close($ch);
?>
Gewijzigd op 05/04/2018 16:38:38 door Ivo P
 
Han Brouwer Keij

Han Brouwer Keij

06/04/2018 11:28:07
Quote Anchor link
**quoteknip**

Ik heb er het volgende van gemaakt maar ook op deze manier blijft neerslag.txt leeg als wordt er wel naar het bestand geschreven als je de pagina oproept.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
    vWritePageToFile( 'https://gadgets.buienradar.nl/data/raintext?lat=52.8836&lon=6.9023', 'neerslag.txt' );

    function vWritePageToFile( $sHTMLpage, $sTxtfile ) {
     $sh =          curl_init( $sHTMLpage );
     $hFile =                       FOpen( $sTxtfile, 'w' );
     curl_setopt( $sh, CURLOPT_FILE, $hFile );
     curl_setopt( $sh, CURLOPT_HEADER, 0 );
     curl_exec  ( $sh );
     curl_close(  $sh );
     FClose    (  $hFile );
    }


Edit:
Het is niet nodig om steeds het eerste voorgaande bericht integraal te quoten. Dit zorgt ervoor dat het topic minder leesbaarder wordt. Daarom heb ik wat onnodige quotes weggesnoeid. Gelieve hier graag rekening mee te houden.
Gewijzigd op 06/04/2018 11:54:49 door - Ariën -
 
Ben van Velzen

Ben van Velzen

06/04/2018 11:49:59
Quote Anchor link
Waar heb je CURLOPT_RETURNTRANSFER dan gelaten?
 
Han Brouwer Keij

Han Brouwer Keij

07/04/2018 16:30:06
Quote Anchor link
Ik heb het eindelijk voor elkaar.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

$curl
= curl_init('https://gadgets.buienradar.nl/data/raintext?lat=52.8836&lon=6.9023');
curl_setopt($curl, CURLOPT_FAILONERROR, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);  
$result = curl_exec($curl);
$myFile = "neerslag.txt";
$fh = fopen($myFile, 'w') or die("kan file niet openen");
fwrite($fh, $result);
fclose($fh);

?>
 
- Ariën  -
Beheerder

- Ariën -

07/04/2018 16:41:53
Quote Anchor link
Bijna, want het is eigenlijk niet de bedoeling om CURLOPT_SSL_VERIFYPEER op false te zetten. Lees hier waarom niet:

https://snippets.webaware.com.au/howto/stop-turning-off-curlopt_ssl_verifypeer-and-fix-your-php-config/

Voor Buienradar kan je een uitzondering maken, omdat het niet zo super spannende en cruciale data is. Maar als je het goed wilt doen, en je zou met belangrijke gegevens werken die over SSL gaan, dan zou ik CURLOPT_SSL_VERIFYPEER op false zeker afraden!

Ik meen dat je die CA's ook via curl kan aanroepen, dus je hoeft dan niet eens je php.ini aan te passen.
Gewijzigd op 07/04/2018 16:53:22 door - Ariën -
 
Han Brouwer Keij

Han Brouwer Keij

07/04/2018 22:17:14
Quote Anchor link
Ik vind het wel goed zo Ariën. Ik word binnenkort 72 en hoef niet meer zo scherp te zijn. Ik ben al blij dat ik het allemaal nog een klein beetje begrijp. :-)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.