PHP Hilfe bei csv
Hallo,
habe den unterstehenden Code:
Funktioniert auch, allerdings importiere ich die CSV danach über ein Skript in eine Datenbank.
Dabei bekomme ich leider dann nur die erste Zeile der CSV importiert.
Woran kann dies liegen?
Der Aufbau der CSV ist:
habe den unterstehenden Code:
Funktioniert auch, allerdings importiere ich die CSV danach über ein Skript in eine Datenbank.
Dabei bekomme ich leider dann nur die erste Zeile der CSV importiert.
Woran kann dies liegen?
Der Aufbau der CSV ist:
1;Mustermann;Max;04.05.20172; Müller; Thomas;06.05.2018
<?php
$extern_url = "http://beispiel/ldap/beispiel.csv";
$local_file = "beispiel.csv";
$fpread = @fopen($extern_url, 'r');
if(!$fpread)
{
echo "Webseite zurzeit nicht erreichbar." ;
exit;
}
else {
$fpwrite = @fopen($local_file, 'w');
if(!$fpwrite)
{
echo "$errstr ($errno)<br> n";
exit;
} else {
while(! feof($fpread) )
{
$buffer = @ltrim(Chop(fgets($fpread, 256)))."n";
fputs($fpwrite, $buffer);
}
@fclose($fpread);
}
@fclose($fpwrite);
}
?>
Please also mark the comments that contributed to the solution of the article
Content-ID: 373938
Url: https://administrator.de/contentid/373938
Printed on: September 19, 2024 at 01:09 o'clock
7 Comments
Latest comment
Hallo,
ich würde file_get_contents und explode verwenden.
Braucht allerdings mehr Speicher.
Stefan
http://php.net/file_get_contents
http://php.net/manual/de/function.explode.php
ich würde file_get_contents und explode verwenden.
Braucht allerdings mehr Speicher.
Stefan
http://php.net/file_get_contents
http://php.net/manual/de/function.explode.php
Hi,
in der Zeile 5 liest du ja den Inhalt der CSV die du über eine URL übergibst.
Nun ist der gesamte Inhalt in einem Array in der Variable.
Daher muss du bei der Ausgabe auch durch das Array iterieren. Dafür brauchst du eine Schleife.
Probier das mal aus, habe ich jetzt nicht komplett getestet aber sollte so in etwa funktionieren.
in der Zeile 5 liest du ja den Inhalt der CSV die du über eine URL übergibst.
Nun ist der gesamte Inhalt in einem Array in der Variable.
Daher muss du bei der Ausgabe auch durch das Array iterieren. Dafür brauchst du eine Schleife.
<?php
$extern_url = "http://beispiel/ldap/beispiel.csv";
$local_file = "beispiel.csv";
$myfile = fopen($extern_url, "r") or die("Webseite zurzeit nicht erreichbar.");
// Output one line until end-of-file
while(!feof($myfile)) {
echo fgets($myfile) . "<br>";
$fpwrite = @fopen($local_file, 'w');
fwrite($fpwrite, fgets($myfile));
}
fclose($fpwrite);
fclose($myfile);
?>
Probier das mal aus, habe ich jetzt nicht komplett getestet aber sollte so in etwa funktionieren.
Warum umständlich wenn es einfach geht ...
Oder eben direkt mit curl.
file_put_contents("beispiel.csv", file_get_contents("http://beispiel/ldap/beispiel.csv"));