php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.12.2008, 09:57  
Hape42
Gast
 
Beiträge: n/a
Standard [Erledigt] timeout bei Dateien einlesen

Hallo,

ich will eine große CSV-Datei in eine MySQl einlesen.
nach genau 120 Sekunden bricht alles kommentarlos ab.
Habe wohl das gleiche Problem wie der Kollege hier. Bin auch bei Strato.

http://www.php.de/php-einsteiger/493...tml#post382908 ([Erledigt] PHP Timeouts)

Jetzt habe ich alles in kleine Dateien gesplittet und kann das wunderbar einzeln aufrufen und einlesen. Hurrra!

Aber das kann ja nicht die Lösung sein. 5 Dateien rufe ich ja gerne noch einzeln auf.
Aber 100?

Na, ich bin ja schlau und schreib einfach n kleines php, dass alle Dateien einliest...
PHP-Code:
if ($dir = @opendir("."))
{
   while ((
$file readdir($dir)) !== false)
   {
      if (
stristr($file'.csv'))
      {
              
all_csv($file); // liest in die DB ein
      
}
   }
  
closedir($dir);

aber so schlau war das dann doch nicht!
3,5 Dateien werden eingelesen und dann bricht selbstverständlich auch das hier nach 120 Sekunden ab
Hat da jemand eine Idee?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.12.2008, 01:42  
Erfahrener Benutzer
 
Registriert seit: 27.09.2008
Beiträge: 316
PHP-Kenntnisse:
Fortgeschritten
moveax1 befindet sich auf einem aufstrebenden Ast
Standard

du könntest das Script sich selber nach jeder Datei aufrufen lassen. Dazu kannst du header() nutzen und die nächste Datei per $_GET an das Script übergeben.
__________________
twitter.com/moveax1 || http://modxcms.com/ || http://ubuntuusers.de/

$live->free() OR die();
moveax1 ist offline  
Alt 21.12.2008, 01:49  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Ich weis ja nicht was deine Funktion all_csv() genau macht, aber hast du mal geschaut inwieweit sich da vielleicht was optimieren lässt ?

z.b. indem man mysqls load data infile nutzt ?
MySQL :: MySQL 5.1 Referenzhandbuch :: 13.2.5 LOAD DATA INFILE
robo47 ist offline  
Alt 21.12.2008, 02:17  
Erfahrener Benutzer
 
Registriert seit: 19.03.2007
Beiträge: 176
BlackWolf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Naja, eine einzelne Datei kann eben nur 120 Sekunden lang ausgeführt werden.
Lösung wäre entweder das sich die Datei selbst refresht oder z.b. mehrere Anfragen per AJAX abzusetzen.

mfg
BlackWolf ist offline  
Alt 21.12.2008, 02:30  
Erfahrener Benutzer
 
Registriert seit: 27.09.2008
Beiträge: 316
PHP-Kenntnisse:
Fortgeschritten
moveax1 befindet sich auf einem aufstrebenden Ast
Standard

Ich weiss nicht ob AJAX nur zum eintragen in eine Datenbank nicht zu viel Aufwand wäre.
__________________
twitter.com/moveax1 || http://modxcms.com/ || http://ubuntuusers.de/

$live->free() OR die();
moveax1 ist offline  
Alt 21.12.2008, 03:23  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

ein set_time_limit(0) würde zumindest die php beschränkung aufheben.
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson ist offline  
Alt 21.12.2008, 03:33  
Erfahrener Benutzer
 
Registriert seit: 19.03.2007
Beiträge: 176
BlackWolf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von brian johnson Beitrag anzeigen
ein set_time_limit(0) würde zumindest die php beschränkung aufheben.
glaube kaum das der hoster das zulässt ...
mfg
BlackWolf ist offline  
Alt 21.12.2008, 13:11  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von BlackWolf Beitrag anzeigen
glaube kaum das der hoster das zulässt ...
mfg
bin auch bei strato und kann das machen....
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson ist offline  
Alt 24.12.2008, 11:04  
Hape42
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von brian johnson Beitrag anzeigen
bin auch bei strato und kann das machen....
ich habe set_time_limit mal testweise auf 600 hochgesetzt
bricht trotzdem nach 120 Sekunden ab
 
Alt 24.12.2008, 11:07  
Hape42
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von robo47 Beitrag anzeigen
Ich weis ja nicht was deine Funktion all_csv() genau macht, aber hast du mal geschaut inwieweit sich da vielleicht was optimieren lässt ?

z.b. indem man mysqls load data infile nutzt ?
MySQL :: MySQL 5.1 Referenzhandbuch :: 13.2.5 LOAD DATA INFILE
Vielen Dank, das ist der Workaround.
Damit läuft das zwar jetzt, wenn die Daten aber weiter wachsen, werde ich irgendwann wieder vor dem Problem stehen.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dateien einlesen & Variablen Kein Genie PHP-Fortgeschrittene 6 20.09.2008 14:20
[Erledigt] Alle Dateien eines Ordner und aller Unterordner aufrufen und die Größe ber BartTheDevil89 PHP Tipps 2008 6 12.08.2008 19:17
Dateien einlesen silver_surfer PHP Tipps 2008 14 26.06.2008 19:19
PHP Dateien verschlüsseln GSJLink PHP-Fortgeschrittene 2 26.04.2008 12:29
[Logik] Mehrere Dateien als Anhang per Formular versenden PsychoEagle PHP Tipps 2008 2 27.08.2007 08:58
iCal Dateien mit php einlesen rehmaster PHP-Fortgeschrittene 3 11.01.2007 16:36
nur bestimmte Dateien aus einem Verzeichnis auslesen Madden PHP Tipps 2006 2 07.03.2006 17:10
Verzeichnis (Dateien) schützen aber per PHP zugriff zulassen Server, Hosting und Workstations 2 16.10.2005 10:13
Dateien aus einem Ordner einlesen ??? PHP Tipps 2005-2 4 07.08.2005 18:21
Dateien löschen (mit "unlink") PHP Tipps 2005-2 8 09.06.2005 22:55
Große Daten in Datenbank einspielen ohne timeout PHP-Fortgeschrittene 5 22.05.2005 08:47
[Erledigt] Nur bestimmte Dateien anzeigen, wie mache ich das HILFE PHP Tipps 2005 4 02.04.2005 22:38
Bilder und generell Dateien in DB einlesen Datenbanken 1 02.02.2005 12:42
dateien zugänglich machen PHP Tipps 2004 8 22.10.2004 14:25
[Erledigt] Dateien aus Verzeichnissen vom Webserver auslesen und linken PHP Tipps 2004 3 08.09.2004 10:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
strato set_time_limit, set_time_limit strato, php timeout 120, php datei einlesen timeout, set_time_limit() strato, strato mysql timeout, strato php set_time_limit, strato script timeout, strato load data infile, php load data infile timeout, php skript timout \nach 120 sekunden\, strato set_time_limit(0);, strato time limit, set_time_limit bei strato, php http datei einlesen timeout, \csv-datei\ lesen $file = readdir(, php csv timeout, set_time_limit bricht trotzdem ab, php große datei lesen timeout, csv datei einlesen timeout php

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:38 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum