Veröffentlicht 27. Mai 200223 j Hi Ich habe hier ein recht seltsames Problem: Ich habe mir einen PHP-Dateiupload geschrieben. Lokal mit meinem Apache läuft es ohne Probleme. Lasse ich nun gleiche Routine auf meinem Webserver von Purtec laufen kommt nach der Auswahl der Datei folgender Fehler: Warning: Unable to open 'E:\\H-Anhaenger.jpg' for reading: No such file or directory in /homepages/3/d24358834/htdocs/usedDomains/Haengerzentrale.de/editPicture.php on line 20 Hierbei liegt bei mir auf E:\ das Bild H.Anhaenger.jpg Warum kann er nicht darauf zugreifen ? Hier der Code der HTML-Seite und der der PHP-Routine: <form name="Bild_uploaden" method="post" action="editPicture.php"> <div align="center"> <input type="hidden" name="haengerid" value="1"> <table width="80%" border="0"> <tr> <td width="31%">Bild auswählen</td> <td width="69%"> <input type="file" name="imgfile"> </font> </td> </tr> </table> <p> <input type="submit" name="upload" value="Upload"> </p> </div> </form> PHP if (($REQUEST_METHOD == "POST") AND ($upload == "Upload")) { // Bild hochladen $uploaddir = "images/haenger/"; if (!file_exists($uploaddir)) { mkdir($uploaddir, 0755); } $newFile = $uploaddir . $haengerid . substr($imgfile, -4); if (!copy($imgfile, "$newFile")) { echo "Pic not Uploaded"; } else echo "Pic uploaded"; unlink ($imgfile); } Was stimmt hier nicht ?
28. Mai 200223 j Hi Das Problem liegt wahrscheinlich daran... das du die Datei nicht an den Server schickst sondern du nur den Pfad der Datei angibst... und der Server hat vielleicht keine Berechtigung auf diesen Pfad zuzugreifen.... Cyrill
28. Mai 200223 j Autor Hi Wie zur Hölle schicke ich die Datei ? ? ? Ich habe sowas schon mal gebaut und da funzte es - ob es nun genau so war weiss ich allerdings ned HILFE - meine Seite ist zur Zeit mit diesem Fehler ! ! ! Gruß Erbeere
28. Mai 200223 j Hi Erdbeere, schau mal hier (http://www.php.net/download-docs.php ) habe ich ein ganz gutes Tutorial (bzw. Hilfe) Kannst Du Dir runterladen ist auch auf Deutsch. Ich habe hier die Hilfe-Datei mir runtergeladen. Wenn DU da ml im Reiter "Suchen" upload einträgst bekommst Du einige gute Infos. Ich denke, das wird Dir sicherlich schon weiterhelfen. Ich dachte, bevor ich Dir alles hier reinschreib sag ich dir die URL wo du das runterladen kannst. Gruß Snopsy
28. Mai 200223 j Ein Artikel... wie du das in PHP machen könntest... Ich habe es bis jetzt einfach mit JSP und JAVA gemacht...! http://www.phpbuilder.com/columns/bealers20000904.php3?print_mode=1 Cyrill
2. Juni 200223 j Habe im Augenblick das gleich Problem. Die Datei die hochgeladen werden soll wird nicht gefunden. Wie wärs wenn jemand die Lösung der Öffentlichkeit preisgibt?
2. Juni 200223 j analog zum vorherigen posting. <form name="Bild_uploaden" method="post" action="editPicture.php"> ÄNDERN ZU <form name="Bild_uploaden" method="post" action="editPicture.php" enctype="multipart/form-data"> Der Browser legt dadurch eine lokale Kopie der Datei an, sendet diese und löscht sie wieder. Zu Hause verwendest du das Orginal. Kann es sein das die Datei anschließend verschwunden ist? $imgfile verdeutlicht den Unterschied.
3. Juni 200223 j also im php handbuch gibt es ein eigenes kapitel dazu: http://www.php.net/manual/de/features.file-upload.php ist voll gut erklärt nimm das einfach mal ;-)
12. Juni 200223 j Hilfe, ich versuch das auch gerade, aber ich bin wohl zu blöd Das ist mein Formular: form name="form1" enctype="multipart/form-data" method=POST action="upload.php"> Beschreibung: <br> <input type="text" name="Desc"><br> Version: <br> <input type="text" name="Version"><br> Datei:<br> <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="10000000"> <input type="file" name="upload"><br> <input type="submit" value="Upload"><br> </form> Unter PHP versuche ich dann die Dateinamen auszulesen, um anschließend per copy die Datei in das richtige Verzeichnis zu packen: echo $HTTP_POST_FILES['upload']['name']."<br>"; echo $HTTP_POST_FILES['upload']['type']."<br>"; echo $HTTP_POST_FILES['upload']['size']."<br>"; echo $HTTP_POST_FILES['upload']['tmp_name']."<br>"; [/PHP] Leider bekomme ich da keine Werte geliefert! Auch $upload_name liefert nüscht. Nur $upload ist mit "c:\\xyxz.erw" belegt. Wo ist mein Denkfehler, ich dreh hier gleich durch.... :confused::eek::confused: Ach ja, der ganze Krams leigt auf nem Strato Server Pta
10. Januar 200520 j So mal en Standartscript für alle: upload.php <html> <head> <title>Datei-Upload by Akira</title> </head> <body text="#000000" bgcolor="#FFFFFF"> <!-- Formulardaten zur Auswahl der Datei und des sendens an den php-script Teil --> <!-- upload Teil --> <form action="upload.php" method="post" enctype="multipart/form-data"> <p align="center"><input type="hidden" name="MAX_FILE_SIZE" value="9000000000"> <input type="file" name="dateiname"><br><br> <input type="submit" value="Hochladen"></p> </form> <hr color="#800000"> <?php /* !!!!!!!!!!!!!!!!!!!!!!Upload!!!!!!!!!!!!!!!!!!!!!!!!!! */ /* Deklaration der übergebenen Variablen */ @$dateiname = $_FILES[dateiname][name]; @$tmp_name = $_FILES[dateiname][tmp_name]; /* Abfrage ob die Eingabe leer ist*/ if (@$tmp_name == true) { /* Abfrage der Variablen auf Größe usw. */ if (!isset($dateiname)) {exit;} if(!is_uploaded_file($tmp_name)) { echo 'Fehler!<br><ul>'; switch ($_FILES[dateiname][error]) { case 1: echo "<li>Die Datei überschreitet die maximale Größe von 2 Megabytes."; break; case 2: echo "<li>Die Datei überschreitet die maximale Größe von $_POST[MAX_FILE_SIZE] Bytes."; break; case 3: echo "<li>Die Datei wurde nur teilweise übertragen."; break; case 4: echo "<li>Sie haben vergessen, die zu überspielende Datei anzugeben."; break; } exit; } /* Angabe des Root Verzeichnisses auf dem Server */ $uploadname ="./Project/daten/pics/$dateiname"; /* Beginn des Dateiuploades und Ausgabe der Daten nochmal zum vergleich */ move_uploaded_file($tmp_name, $uploadname); printf("<p align=center>Die Datei <b>%s</b> befindet sich auf dem Webserver im Ordner <b>%s</b>!<br>\n", @$_FILES[dateiname][name], @$uploadname); printf("Sie ist <b>%s Bytes</b> groß und vom Typ <b>%s</b>.<br>\n", @$_FILES[dateiname][size], @$_FILES[dateiname][type]); /* Ausgabe der Daten im Verzeichnis nochmal zum vergleich */ $uverz="../pics"; echo "<h2 align=center>Bisher hochgeladene Dateien</h2>"; $i=1; $verzeichnis=opendir($uverz); echo "<p align=center >"; while ($file = readdir($verzeichnis)) { if(is_file($uverz."/".$file)) { echo "$uverz/$file<br>\n"; $file=urlencode($file); $i++; } } closedir($verzeichnis); } /* Ausgabe der Abfrage wenn keine Datei ausgewählt wurde */ else { echo "<b><div align=center>!!! Keine Datei ausgewählt !!!</div></b>"; } ?> </body> </html>[/PHP]
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.