Upload-Möglichkeit nach mehreren Seiten?
kolbe Matthias
- html
Hi, ich habe das Problem, dass ich auf Seite 1 eine Datei uploade und mir auf der 2-ten Seite die erste Zeile eben dieser anzeigen lasse. Nun möchte ich die Datei aber auf der dritten Seite vollständig bearbeiten. Ich habe des so gemacht, dass in der ersten Seite <input type="file" name="map_upload"> steht und in der zweiten der value einfach als hidden übergeben wird <input type="hidden" name="upload" value= <?php echo("$map_upload"); ?> >.
Das Problem ist, dass diese Datei auf der 3-ten Seite nicht mehr zu existieren scheint.(Habs mit php-code file_exists($inputfile) probiert)Ich glaube, dass das daran liegt, dass ich es als hidden weitergebe und es dadurch nicht mehr als Bezug für die Datei erkannt wird sondern als gewöhnlicher String.
Falls jemand eine Lösung kennt, würd mich über eine Antwort freuen...
cu matze
Hello Matze,
das Problem scheint mir eher im Verständnis des Mechanismus für den Dateiupload zu liegen. Da sind sich die Webserver dank HTTP-Protokoll eigentlich alle einig:
Der Upload von Daten erfolgt in ein temporärverzeichnis. Nachdem der HTTP-Upload erfolgt ist, wird das Script aufgerufen un ihm bei PHP im Array $_FILES die Upload-Referenzen übergeben. Das Script ist ein Child-Process des HTTP-Handlers und erbt die Handles der uploaded Files. Dabei handelt es sich aber um echte Temporärdateien des OS. Wenn also das Script stirbt und die Handles vorher nicht weitergegeben hat, dann werden diese automatisch zurückgegeben und werden wieder freigegeben. Du musst also dafür sorgen, dass die uploaded Files innerhalb des angesprochenen Scriptes aus dem Temporär-Status in einen Persistenten überführt werden, sprich eine Kopie davon anlegen in einem möglichst außerhalb der Doc-Root liegenden Zielverzeichnis. Dafür steht bei neueren PHPs die Funktion move_uploaded_files() zur Verfügung.
In den nächsten Scripten kannst Du die Datei dann über ihren _neuen_ Dateinamen ansprechen. Je nach Aufbau Deiner Benutzerverwaltung kannst Du den Zugriff darauf steuern.
Info darüber findest Du unter http://de.php.net/features.file-upload
Wenn Detailfragen bestehen, frag nach.
Liebe Grüße aus http://www.braunschweig.de
Tom