exxe
Mitleser
Hallo Community, ich hätte da gern mal ein kleines Problem:
Ich würde gerne ein csv-Datei in eine MySQL-Datenbank einlesen.
Das funktioniert theoretisch mit
auch wunderbar, wobei $db_file eine absolute Pfadangabe (c:/upload/test.csv) enthällt.
Nun habe ich aber das Problem, dass das Script auf verschiedenen Rechnern ausgeführt werden soll und die test.csv immer in einem anderen Verzeichniss liegen kann.
Jedesmal händisch den Pfad in ein Inputfeld eintragen ist nicht das Gelbe vom Ei, vor allem da auch Personen damit arbeiten sollen, die gerade mal wissen, wie sie den Browser starten.
Nun habe ich versucht mit
eben diesen Pfad auszulesen. Allerdings gibt er mir da (wie ich inzwischen herausgefunden habe) aus sicherheitstechnischen Gründen nur den Dateinamen zurück.
Die Datei erst auf den Server hochladen und dann einlesen funktioniert laut MySQL-Handbuch leider auch nicht, da ich ja keinen Zugriff auf das Datenbankverzeichniss habe.
Note that, in the non-LOCAL case, these rules mean that a file named as ./myfile.txt is read from
the server's data directory, whereas the file named as myfile.txt is read from the database
directory of the default database.
Die große Frage ist nun, woher bekomme ich den lokalen, absoluten Pfad zur Datei? Ist das überhaupt nöglich?
Ich würde gerne ein csv-Datei in eine MySQL-Datenbank einlesen.
Das funktioniert theoretisch mit
PHP:
$sql = "LOAD DATA LOCAL INFILE '".$db_file."' INTO TABLE ".$db_table." FIELDS TERMINATED BY '".$db_terminated."'";
auch wunderbar, wobei $db_file eine absolute Pfadangabe (c:/upload/test.csv) enthällt.
Nun habe ich aber das Problem, dass das Script auf verschiedenen Rechnern ausgeführt werden soll und die test.csv immer in einem anderen Verzeichniss liegen kann.
Jedesmal händisch den Pfad in ein Inputfeld eintragen ist nicht das Gelbe vom Ei, vor allem da auch Personen damit arbeiten sollen, die gerade mal wissen, wie sie den Browser starten.
Nun habe ich versucht mit
PHP:
<form name='input' method='post' action='".$PHP_SELF."'>";
<input class='textbox' type='file'>
</form>
eben diesen Pfad auszulesen. Allerdings gibt er mir da (wie ich inzwischen herausgefunden habe) aus sicherheitstechnischen Gründen nur den Dateinamen zurück.
Die Datei erst auf den Server hochladen und dann einlesen funktioniert laut MySQL-Handbuch leider auch nicht, da ich ja keinen Zugriff auf das Datenbankverzeichniss habe.
Note that, in the non-LOCAL case, these rules mean that a file named as ./myfile.txt is read from
the server's data directory, whereas the file named as myfile.txt is read from the database
directory of the default database.
Die große Frage ist nun, woher bekomme ich den lokalen, absoluten Pfad zur Datei? Ist das überhaupt nöglich?