Я получаю изображение из формы php, но я не получаю всю информацию из формы. Код ниже:
<form action="pages/post/upload.php" enctype='multipart/form-data' method="post"> <input type="file" name="userfile" required/> <input type="submit" name="send" value="Invia"/> </form> <?php $uploaddir = '/home/pino/Scrivania/Prova/upload/'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); print_r($_FILES['userfile']['name']); print_r($uploadfile); print_r($_FILES['userfile']['tmp_name']); echo '<pre>'; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "Possibile attacco tramite file upload!\n"; } echo 'Alcune informazioni di debug:'; print_r($_FILES); print "</pre>"; ?>
Когда я печатаю содержимое файла с помощью print_R($_FILES);
я получаю следующее:
Array ( [userfile] => Array ( [name] => IMG_20170318_072135.jpg [type] => [tmp_name] => [error] => 1 [size] => 0 )
)
Ваш файл превышает лимит размера (источник: http://php.net/manual/en/features.file-upload.errors.php )
UPLOAD_ERR_INI_SIZE
Значение: 1; Загруженный файл превышает директиву upload_max_filesize в php.ini.
Ваш массив кажется, что ваш $_FILES
возвращает [error] => 1
поэтому он связан с размером загрузки файла.
Вам нужно проверить размер загрузки файла. Проверьте размер файла с помощью phpinfo()
.
Если upload_max_filesize
меньше размера загруженного файла, измените размер файла на размер вашего изображения.
Если upload_max_filesize
является правильным, тогда необходимо проверить переменную post_max_size
в файле php.ini
Например:
upload_max_filesize = 7M
Заметка:
localhost
то файл php.ini
существует в wamp\bin\apache\apache2.4.9\bin
. phpinfo()
в любом из ваших php-файлов и запустить его для проверки конфигурации сервера.