SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 22.08.2007, 15:36:52
MarcS. MarcS. ist offline
Anfänger
 
Registriert seit: Aug 2007
Beiträge: 3
.txt datei in Mysql importieren..

Hallo zusammen!

Ich bin ein ganz neuer hier und habe ein Frage zum Import einer .txt Datei in meine Mysql Datenbank!

Ich nutze ein php script um .txt Daten zu importieren! Leider ist auf meinem Webspace die max_execution_time auf 10 begrenzt und ich habe auch keine Möglichkeit diese Ausführzeit zu erhöhen!

Ich möchte täglich 3 .txt Dateien in die Datenbank importieren! Bei zwei Dateien klappt das dann auch wunderbar! Nur bei der 3. .txt Datei (9 MB) reicht diese Zeit nicht mehr aus!

Nun meine Frage: Gibt es eine andere Möglichkeit diese Daten zu importieren (etwa durch eine Umwandlung in ein anderes Format) bzw. gibt es die Möglichkeit diese .txt Datei zu teilen und sie dann nacheinander in die Table zu laden, oder werden dann jedesmal die Daten der vorherigen Datei im Table überschrieben?

Ich möchte durch die Teilung und das seperate Importieren der Dateien erreichen, dass die execution time nicht an Ihre Grenzen stösst und ich so alle erforderlichen Daten in den Table geladen bekomme!

Hier mal ein Auszug aus dem Script dass ich für den Import verwende:

$file = $phpbb_root_path . $import_path . "village.txt";

$sql = "TRUNCATE TABLE `".VILLAGE_TABLE;
mysql_query($sql);


$filearray = fopen ($file, "r");
while (!feof($filearray)) {
$line = fgets($filearray);
list($id, $name,$x, $y, $player, $points, $rank) = explode(',', $line);
$name = datadecode($name);
$name = addslashes($name);

$sql = "INSERT INTO " . VILLAGE_TABLE . " SET id='$id', name='$name', x='$x', y='$y', player='$player', points='$points', rank='$rank'";
$db->sql_query($sql);

}
fclose ($filearray);


echo $lang['import_success'];


Für Antworten/Tipps/Buh-Rufe o.ä wäre ich sehr dankbar!

LG
MarcS.
Mit Zitat antworten
  #2  
Alt 22.08.2007, 16:23:43
Raketenmann Raketenmann ist offline
Junior Member
 
Registriert seit: Jun 2004
Beiträge: 473
AW: .txt datei in Mysql importieren..

Die max_execution_time Beschränkung kann man umgehen, indem man das Einleseskript mehrfach startet, aber dies ist nicht dein einziges Problem...

...es gibt auch noch eine maximale Größe, die hochgeladene Dateien nicht überschreiten dürfen und die wird bei dir kaum >=9MB sein.

Die Voreinstellung ist 2MB und (bei deiner Angabe für max_execution_time) mit Sicherheit nicht von deinem Anbieter vergrößert worden.
Mit Zitat antworten
  #3  
Alt 23.08.2007, 14:03:48
MarcS. MarcS. ist offline
Anfänger
 
Registriert seit: Aug 2007
Beiträge: 3
AW: .txt datei in Mysql importieren..

Danke für die schnelle Antwort!

Also ich hab mich mit php-info mal schlau gemacht, folgende Angaben habe ich dort noch gefunden:

max_execution_time 10
max_input_nesting_level 64
max_input_time 10 10
memory_limit 25M

Demnach dürfte ich bis 25 MB als Script ausführen ?

Dann dürfte es ja kein Problem sein, oder ?

Wie könnte ich denn das Script noch einmal starten, bzw. wie viel mal sollte dass denn "mehrfach" gestartet werden ?

THX
Marc
Mit Zitat antworten
  #4  
Alt 23.08.2007, 14:19:31
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: .txt datei in Mysql importieren..

Zitat:
Zitat von MarcS. Beitrag anzeigen
Demnach dürfte ich bis 25 MB als Script ausführen ?
Ja. Die Frage ist allerdings, wie File 3 auf Deine Kiste kommt. Per FTP ist das kein Thema, per Formular isses davon abhängig:
upload_max_filesize <= post_max_size <= memory_limit

Das ist auch entscheidend:
max_input_time 10

Zitat:
Wie könnte ich denn das Script noch einmal starten, bzw. wie viel mal sollte dass denn "mehrfach" gestartet werden ?
Per HTML (Beispiel):
Code:
<meta http-equiv="refresh" content="5; URL=http://hostname/script.php?von=$von&bis=$bis">
Das File kannste einmal lesen und als Array in die Session packen.

Wieviel Zeilen Du in <5 Sekunden importieren kannst, mußt Du selber testen.

Das ist nur das Prinzip - basteln mußte selber!

Geändert von meikel (†) (23.08.2007 um 14:21:10 Uhr)
Mit Zitat antworten
  #5  
Alt 23.08.2007, 14:48:47
MarcS. MarcS. ist offline
Anfänger
 
Registriert seit: Aug 2007
Beiträge: 3
AW: .txt datei in Mysql importieren..

Danke vorab schon mal!

Also mt php.info bekomme ich folgende Informationen:

upload_max_filesize 100M
memory_limit 25M

Auch das dürfte dann demnach reichen.

Danke ich werde mich gleich mal ran setzen und testen!

Gruß
Mit Zitat antworten
  #6  
Alt 23.08.2007, 18:22:01
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: .txt datei in Mysql importieren..

Zitat:
Zitat von MarcS. Beitrag anzeigen
upload_max_filesize 100M
memory_limit 25M
Blödsinn!

Damit Du ein X MB dickes File per HTTP gebacken kriegst, muß die Bedingung erfüllt sein.
upload_max_filesize <= post_max_size <= memory_limit

Wenn Du 100MB uploaden willst, muß das so aussehen
Code:
upload_max_filesize = 100M
post_max_size = 101MB
memory_limit = 109 MB
post_max_size muß etwas größer sein, damit der Submitknopf noch mit übertragen werden kann, und memory_limit sollte noch 8MB drüberliegen, weil das PHP Script auch noch etwas RAM braucht.

Allerdings isses sinnfrei, solche dicken Schinken per HTTP zu verschicken. Sowas macht man mit FTP.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehler in Script das Inhalt einer .txt Datei (HTML Sourcecode) in Datei schreiben sol RookieXL2 PHP für Fortgeschrittene und Experten 2 09.06.2007 00:58:33
HTML Quelltext einer mit php Seite erzeugten Seite in .txt oder MySQL speichern. Berentzen PHP Grundlagen 2 14.06.2006 13:36:11
dBASE in MySQL importieren panametrics PHP für Fortgeschrittene und Experten 0 19.07.2005 08:57:31
Variablen aus datei in Mysql datenbank schreiben saidbuchari PHP Grundlagen 0 04.03.2004 14:12:23
Von CSV in MySQL importieren Anyt PHP für Fortgeschrittene und Experten 10 20.04.2003 19:11:36


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:14:13 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt