Ich habe versucht, ein Upload-Skript in PHP zu erstellen. Ich bekomme diese Fehlermeldung:
Notice: Undefined index: file in path\upload\index.php on line 3
Das ist meine Form ist (ziemlich einfach):
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="fileUpload">
<input type="submit" value="Upload Image" name="submitt">
</form>
Das ist meine (nicht funktioniert) laden Skript:
<?php
$name = $_FILES['file']['name'];
$temp_name = $_FILES['file']['tmp_name'];
if(isset($name)){
if(!empty($name)){
$location = '../data/';
if(move_uploaded_file($temp_name, $location.$name)){
echo 'File uploaded successfully';
}
}
} else {
echo 'You should select a file to upload !!';
}
?>
Das ist mein php .ini config:
; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads=On
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize=40M
; Maximum number of files that can be uploaded via a single request
max_file_uploads=20
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size=50M
Also was? habe ich falsch gemacht. Ich habe jede zuvor gestellte Frage überprüft, aber keine Antwort gefunden.
EDIT 1:
Nach dem Auschecken this und änderte meinen Code das Problem weiterhin besteht.
<?php
if (isset($_POST['submitt'])) {
if (isset($_FILES['file']) && isset($_FILES['file']['name']) && isset($_FILES['file']['tmp_name'])) {
$name = $_FILES['file']['name'];
$temp_name = $_FILES['file']['tmp_name'];
if(!empty($name)){
$location = '../data/';
if(move_uploaded_file($temp_name, $location.$name)){
echo 'File uploaded successfully';
}
} else {
echo 'You should select a file to upload !!';
}
}
}
?>
EDIT 2:
fand ich das Problem: Aktion Ersetzen upload
mit upload/index.php
das Problem behoben. Ich verwende XAMPP auf meinem lokalen Computer, um meinen Code zu testen. Dies ist ein Fehler aufgrund einer falschen Apache-Konfiguration durch XAMPP selbst.
ich versuchte dies aber die c ode innerhalb 'if (isset ($ _ POST ['submit'])' wird nicht ausgeführt. Jetzt ist die Frage, warum. Ich übermittle eindeutig die Daten. – Techassi
Siehe mein Update bezüglich des Formularcodes und des Parameters "action". – Adam
Ich habe Ihre aktualisierte Version ausprobiert und scheint nicht zu funktionieren. Ich habe mein gesamtes Verzeichnis überprüft, aber ich habe meinen Upload nicht gefunden. Ohne die Einstellung zum Hochladen gibt es keine Upload-Logik oder liege ich falsch? – Techassi