Datei zeilenweise in Datenbank einlesen

Hallo an alle,
ich bräuchte mal wieder Eure Hilfe und zwar habe ich eine Adabas- Datenbank auf Linux und soll jetzt eine CSV-Datei in diese einlesen.
Nun zu meinem Problem.Ich habe das mit folgendem Code realisiert:

<?php $row = 1; // Anzahl der Arrays
$handle = fopen ("Lieferung.csv","r"); // Datei zum Lesen öffnen while ( ($data = fgetcsv ($handle, 100000, ";")) !== FALSE ) { // Daten werden aus der Datei // in ein Array $data gelesen $ort="gels"; // gels hinzufügen $num = count ($data); // Felder im Array $data // werden gezählt echo " $num fields in line $row: \n"; $row++; // Anzahl der Arrays wird // inkrementiert for ($c=0; $c \n"; // des Arrays auszugeben } } fclose ($handle); ?\> Nun bekomme ich trotz allem keine Ausgabe und weiss nicht woran das liegt. Zur näheren Erläuterung: Ich wollte erst mal sehen ob die Datei korrekt eingelesen wird, deshalb der Versuch der Ausgabe.Kann das eventuell auch daran liegen, dass die Einträge (im Moment noch 100000 und steigend) für ein Array zu gross sind oder wie kann ich das anstellen, dass die Datei sofort in die Datenbank eingelesen wird Vielen Dank schon im vorraus Heike

hm…

$file=file("Lieferung.csv");
for($i=0;$i";
 echo $file[$i];
 echo " ";
 }

so?
wird nur evtl wieder bei error reporting all fehler ausspucken - bei mir funzt es aber ^^

Hallo munichfreak,
danke für Deine schnelle Antwort, aber es funzt bei mir leider nicht.
bin schon ein wenig am verzweifeln :smile:
Ich glaube es liegt eher am Aufruf als an der Ausgabe könntest Du Dir diese vielleicht noch mal ansehen?
Heike

also bei mir funktioniert auch Dein code
(sogar das teilen mit fgetcsv, obwohl ich ja eher explode() nehmen würde, aber ich hatte bisher auch noch nix mit csv zu tun :wink:)

sicher dass er die Datei auch finden kann?
file_exists ist ein braves Pferd :wink:

habe ich noch nicht ausprobiert
wie wird das im source dargestellt
Heike

Hallo !

Probiere mal folgendes:

<?php error_reporting(E_ALL);<br />$row = 1; // Anzahl der Arrays
$handle = fopen ("Lieferung.csv","r") or die("Kann Datei nicht öffnen");
// Wirklich mit grossem "L" ?
while ( ($data = fgetcsv ($handle, 100000, ";")) !== FALSE ) {
$ort="gels"; // gels hinzufügen // wozu, das wird nie wieder abgefragt ?
$num = count ($data); // Felder im Array $data
echo "

$num fields in line $row:   
\n";  
$row++; // Anzahl der Arrays wird  
for ($c=0; $c \n";  
// des Arrays auszugeben  
} // for  
} // while  
fclose ($handle);  
?\>

Nun bekomme ich trotz allem keine Ausgabe und weiss nicht
woran das liegt. Zur näheren Erläuterung: Ich wollte erst mal

Entweder die Datei ist leer, oder wird nicht gefunden. Dank error_reporting sollte jetzt aber eine Meldung kommen.

Alexander

habe ich noch nicht ausprobiert
wie wird das im source dargestellt
Heike

if (file\_exists("Deindateiname")) echo "Ja, ich hab die Datei gefunden";
else echo "Nein, diese Datei kenne ich nicht.";

gibt da noch ne möglichkeit

Entweder die Datei ist leer, oder wird nicht gefunden. Dank
error_reporting sollte jetzt aber eine Meldung kommen.

keine Leserechte… sollte aber denk ich mal nur bei Unix vorkommen, dass das vmtl erst funktioniert, wenn man chmod gemacht hat schätze ich…

habe wahrscheinlich einen elementaren Fehler
ich bearbeite die Date mit phase5 Editor und der gibt mir gar nichts aus beim umschalten in die Browservorschau
hast du da vielleicht einen Tip
Danke übrigens für Deine schnelle Hilfe
Heike

der editor ist dabei egal :wink:
es ist ja php-code, muss also in und ?> stehen… (daran gedacht?)
Eine Vorschau kann bei php eigentlich nicht funktionieren…

Du musst nur erst mal sichergehen dass
* Die Datei im gleichen Verzeichnis liegt
* Die GrOsS-kleinschreibung exakt identisch ist
* Die aufrufende Datei leserechte hat
* Das Script die Datei auch findet… Und das eben lässt sich mit diesem eben genannten miniscript überprüfen. Setz es einfach mal an den Anfang Deines PHP-Codes in Deinem Script… Vllt ist auch das Problem, dass Du das PHP-Script nicht ausgeführt hast, sondern es auch nur in der Vorschau des Editors angesehen hast?

Wenn du mir jetzt noch sagen kannst wie die Ausführung geht wäre ich dir ewig dankbar
Allerdings kann ich das erst morgen probieren da ich jetzt Feierabend habe

lass sie auf dem Webserver laufen…
Bedingungen: Endung auf .php
installierter webserver mit eingeflochtenem php-Modul…

php ist eine Serverseitige Scriptsprache. Ohne einen Server auf dem es ausgeführt wird bekommt man _nie_ resultate…
Emulatoren kenne ich jedenfalls nicht, wozu auch? schliesslich kann man sich auf jedem Rechner nen Webserver mit Apache installieren…

Hallo meine Retter,
es klappt. Wenn ich Euch jetzt das Problem sage werdet Ihr Euch bestimmt an den Kopf fassen.Es war schlicht und einfach der Programmaufruf.Ich habe doch die Datei tatsächlich .html genannt anstatt .php. Trotzdem habt Ihr beide mir wieder ein wenig mehr Verständnis beigebracht was PHP-Programmierung angeht
Also vielen Dank nochmal
Heike

*lol*
irgendwie passiert das hier in letzter Zeit häufiger :wink:

aber wenn man dabei lernt isses ja auch gut - ich hab auch dabei wieder bissl was gelernt - was csv ist und so :wink: