Premature end of script headers
Einklappen
X
-
Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!
bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
Wie man Fragen richtig stellt
-
Tach,
das könnte klappen. Da ich nicht so der Experte für Scripte bin....
Kannst DU mir das vieleicht in meine Script einbauen?
Das wäre echt super!
Hier mein jeziges Script:
Code:<? include ($_SERVER['DOCUMENT_ROOT'].'/upload/pass.php'); $row = 1; $handle = fopen ($_SERVER['DOCUMENT_ROOT']."/upload/userliste.csv","r"); while ( ($data = fgetcsv ($handle, 100000,"|")) !== FALSE ) { $num = count ($data); $insert_csv = "INSERT INTO userliste"; $insert_csv.= "(id,name,nname,url,img,street,hn,hob,age,haarf,************,beruf,manu,inter,mail) "; $insert_csv.= "VALUES "; $insert_csv.= "('$data[0]', '$data[1]', '$data[2]', '$data[3]', '$data [4]', '$data[5]', '$data[6]', '$data[7]', '$data[8]', '$data[9]', '$data [10]', '$data[11]', '$data[12]', '$data[13]', '$data[14]')"; mysql_query($insert_csv); } fclose ($handle); ?>
wer nicht fragt.......
Pretender
Kommentar
-
Du rufst die Funktion auf und übergibst true ... wenn du wirklich willst, dass ich dir das einbaue, berechne ich 200€ Zuschlag für einen extreme-dumb-Auftrag ~_~Zuletzt geändert von ghostgambler; 10.06.2006, 17:11.
Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!
bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
Wie man Fragen richtig stellt
Kommentar
-
nungut, ich habe mich da mal belesen und wenn ich es richtig verstanden habe, wird es wohl nix mit "ignore_user_abort " da in der php.ini eine Scriptlaufzeit festgelegt ist. "ignore_user_abort" bzw. set_time_limit() funktioniert aber nur wenn dieser Wert nicht angeben wurde und daher auf 30 Sek steht.
Man konnte wohl unter Umständen auch was unternehmen, wenn PHP als Modul läuft. Dies ist jedoch auch nicht der Fall.
Daher wäre es jetzt interessant, ob Du den "extrem-dump-auftrag" trotzdem in den Griff bekommen kannst und ob ich diesen "Auftrag" später selbst reproduzieren kann, da ich ja viel mehr Daten in die DB schaufeln möchte.wer nicht fragt.......
Pretender
Kommentar
-
Original geschrieben von Pretender
nungut, ich habe mich da mal belesen und wenn ich es richtig verstanden habe, wird es wohl nix mit "ignore_user_abort " da in der php.ini eine Scriptlaufzeit festgelegt ist. "ignore_user_abort" bzw. set_time_limit() funktioniert aber nur wenn dieser Wert nicht angeben wurde und daher auf 30 Sek steht.
keine Ahnung wo du das her hast, aber vielleicht solltest du die Funktion(en) lieber ausprobieren, anstatt dich falsch zu belesen...
Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!
bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
Wie man Fragen richtig stellt
Kommentar
-
hmmmm, also das mit dem set_time_limit() steht hier:
http://de2.php.net/manual/de/functio...time-limit.php
und ignore_user_abort geht es, so wie ich es verstehe daraum, wenn ein User die Scriptseite mit dem X im Browser beendet, wird das Script nicht abgebrochen und arbeitet weiter. Allerdings hat dies ja mit meinem Problem nichts zu tun, da das Script ja vom System unterbrochen wird und nicht vom User.
Das steht hier:
http://de2.php.net/ignore_user_abort
Möglich das ich es falsch verstanden habe. Ich habe aber auch in einem anderem Forum darüber gelesen, die über das gleiche Problem schrieben und keine Lösung dafür hatten, da es vom Provider so eingestellt ist und per Script nicht geändert werden kann, da Ihnen die Rechte dazu nicht geben sind. Tjo aber ich kann mich natürlich auch irren.
Eine andere Idee die ich habe: Kann man einem Script "sagen"
lies die CSV von Zeile 1 - 5000 aus und für diese in die DB.
Danach flux das Script geändert und von Zeile 5000 bis Zeile 10.000 weitergemacht. Das ist zwar nicht so komfortabel aber immerhin.
Geht das?
ps.Nachtrag: Ich habe ja versucht die Funktion einzubauen, da ich aber nicht so fit bin im PHP, hat sich garnichts getan. Das Script bricht weiter ab und ignoriert meine Änderungen.wer nicht fragt.......
Pretender
Kommentar
-
4 Wochen auf Antwort vom Support gewartet?
In der Zeit hättest du längst schon eine Lösung implementieren können:
Ein Script, dass eine 150MB-CSV-Datei in handliche Stücke zerlegt, ist eine Sache von 10 Minuten.
An einem zweiten, dass die Stücke einzeln hochlädt, sitzt man zwar etwas länger, aber zu Fuß geht es sicher auch nicht schneller.
Alternative: Die CSV per FTP hochladen und dein Script mit dem lokalen File füttern. Das dürfte ruckzuck gehen.
Kommentar
-
Stimmt schon, wenn man mal ebend schnell ein Script schreiben kann, dann ist soetwas natürlich kein Problem. Allderdings stehe ich am Anfang eines PHP erfüllten Lebens und mir bleibt die PHP Welt noch in großen Teilen ein Geheimnis.
Daher ist es für mich ebend schon ein Problem, wenn ein bewährten Script nicht mehr funktioniert und man jeden Tag auf eine Lösung wartet.
Nachtrag: Die CSV habe ich per FTP hochgeladen und wollte es per Script in die DB einfügen. Genau das funkt aber nicht.Zuletzt geändert von Pretender; 11.06.2006, 17:38.wer nicht fragt.......
Pretender
Kommentar
Kommentar