Php Datei-upload immer leer
Immer wenn ich eine Datei hochladen, das Ergebnis ist leer.
Der code ist aus hier.
Den index.html Datei:
<html>
<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
Den upload_file.php:
<?php
echo "Upload: " . $_FILES['file']['name'] . "<br>";
?>
Ist das Ergebnis:
Upload:
Ich bei der Konfiguration der php.ini, zu aktivieren file_upload -, Speicher -, 5000M-und tmp-Lage.
Ich weiß es nicht, es maters, aber ich benutze Ubuntu.
Das Ergebnis von phpinfo ist, wie ich konfigurieren.
Was ist falsch? Danke!
print_r ist, zeigen Array ()
echo $_FILES['userfile']['error'];
HP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/msql.so' - /usr/lib/php5/20090626+lfs/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0
[Wed Mar 05 17:48:16 2014] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.10 with Suhosin-Patch configured -- resuming normal operations
[Wed Mar 05 17:50:05 2014] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico
[Wed Mar 05 17:50:05 2014] [error] [client 127.0.0.1] File does not exist: /var/www/404.html
[Wed Mar 05 17:55:32 2014] [error] [client 127.0.0.1] PHP Notice: Undefined index: file in /var/www/uploadart.php on line 2, referer: http://localhost/index.php
In meiner ursprünglichen Datei error-log ist leer.
print_r($_FILES);
Haben Sie versucht, Neustart von Apache nach der änderung der php.ini-Einstellungen?
Über 3-mal. Das habe ich versucht.
Zeige uns die Ausgabe von
print_r($_FILES);
wie @OneOfOne vorgeschlagen.print_r zeigt nicht enything nur Array()
InformationsquelleAutor | 2014-03-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den code, den Sie sagen, dass Sie nahm von W3Schools ist nicht das, was du gepostet hast für den code und die, die Sie erwähnen, den code, den Sie verwenden, ist nur:
Was W3Schools hat auf Ihrer Seite (von dem link, den Sie zur Verfügung gestellt), ist die folgende:
HTML-Formular:
PHP
Doch, fehlt die wichtigste Komponente
move_uploaded_file()
enthalten ist weiter unten auf der Seite unter Speichern der Hochgeladenen Datei und ist wie folgt: (vorausgesetzt, Sie möchten, dass nur
("gif", "jpeg", "jpg", "png")
im array.Nun müssen Sie erstellen Sie einen Ordner namens
upload
und führen Sie dann das Formular und PHP von deinem root ein und stellen Sie sicher, dass der Ordner existiert und hat die richtigen Berechtigungen zu schreiben.Sind Sie das Formular und die PHP in den root (und nicht in einem Unterordner), und hat die
upload
Ordner existieren mit der richtigen Schreibrechte? @user3369031 und hat Sie kopieren alles genau von meiner Antwort?Alle ja. Ich dreifach überprüft alles befoure offen mit diesem Thema.
Ich erinnere mich an eine andere Frage, eine Woche oder so vor, die über ein ähnliches problem, wo die OP ausgeführt wurde es vom Ubuntu-server und musste ändern Sie die Ordner Berechtigungen woanders und ich kann mich nicht erinnern, was es genau war. Es ist wahrscheinlich die gleiche Sache passiert. @user3369031
Das Fragen war nicht auf stackoverflow. Ich fix und ich begonnen ein anderes Projekt. Es war nicht ein bisschen derselbe hatte ich ein ftp leugnen, dass mir auf 777 /var/www/.
InformationsquelleAutor Funk Forty Niner
Dein code ist in Ordnung. Das problem muss mit der Konfiguration auf Ihrem server. Überprüfen Sie diese Zeilen in php.ini:
file_uploads, upload_max_filesize, upload_tmp_dir post_max_size, max_input_time
Sie können auch echo diese Zeile:
Die Sie gerade kopiert $_FILES['userfile']['error'] oder $_FILES['Datei']['error'] auch haben Sie überprüft, Fehler logs?
Beide, und beide null zurück. On error logs haben viele, aber ich weiß nicht, was Sie bedeuten. Posted.
InformationsquelleAutor sunshinejr