Mijn vraag
Een script maakt gebruik van een stukje code van Stackoverflow (beste antwoord)
Helaas gaat de fgetcsv soms niet goed. (timingprobleem met een schrijfactie). Dat het gebeurt weet ik, maar ik wil dat op dat moment het script stopt met een nette errormelding. Op dit moment loopt het script gewoon door, alleen het doet verder niets nuttigs.
Relevante software en hardware die ik gebruik
PHP 7.3 bij een externe webhoster.
Wat ik al gevonden of geprobeerd heb
De normale oplossing is een "or die" mededeling toevoegen.
Dat geeft weliswaar de juiste melding als het initieel fout gaat, maar stopt ook het script als de file helemaal uitgelezen is. Kan ik het binnen deze manier netjes afvangen, of moet ik op zoek naar een andere oplossing? (Die zijn er, meerdere zelfs)
...
Een script maakt gebruik van een stukje code van Stackoverflow (beste antwoord)
code:
1
2
3
4
5
6
7
8
9
10
11
12
| $row = 1; if (($handle = fopen("test.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count($data); echo "<p> $num fields in line $row: <br /></p>\n"; $row++; for ($c=0; $c < $num; $c++) { echo $data[$c] . "<br />\n"; } } fclose($handle); } |
Helaas gaat de fgetcsv soms niet goed. (timingprobleem met een schrijfactie). Dat het gebeurt weet ik, maar ik wil dat op dat moment het script stopt met een nette errormelding. Op dit moment loopt het script gewoon door, alleen het doet verder niets nuttigs.
Relevante software en hardware die ik gebruik
PHP 7.3 bij een externe webhoster.
Wat ik al gevonden of geprobeerd heb
De normale oplossing is een "or die" mededeling toevoegen.
code:
1
| while (($data = fgetcsv($handle, 1000, ",") or die ("error reading csv") !== FALSE) { |
Dat geeft weliswaar de juiste melding als het initieel fout gaat, maar stopt ook het script als de file helemaal uitgelezen is. Kan ik het binnen deze manier netjes afvangen, of moet ik op zoek naar een andere oplossing? (Die zijn er, meerdere zelfs)
...
A'dam PVOutput