Ошибка отправки типа входного файла Нет значения
У меня есть форма, где я размещаю разные поля, и каждый тип поля, как представляется, работает, за исключением входного типа файла.
Я использую var_dump($_POST);
, и все остальные поля находятся там, но ничего в файле типа ввода.
Моя часть формы выглядит следующим образом:
<form enctype="multipart/form-data" id="ajax-form" action="index2.php" method="POST" data-ajax="true">
и хорошо работает для всего остального.
Если в файле типа ввода есть что-то другое?
<input type="text" id="myid" name="myid" value="" /> ..This posts value
<input id="theimage" name="theimage" type="file" /> .. does not post value
Любые идеи кто-нибудь?
Ответы
Ответ 1
Файлы хранятся в $_FILES, а не $_POST
http://php.net/manual/en/reserved.variables.files.php $_FILES переменная
http://www.php.net/manual/en/features.file-upload.php Руководство по загрузке файлов PHP.
Для обработки файла (без проверки ошибок):
$ROOT = "/path/to/store/files";
foreach($_FILES as $file => $details)
{ // Move each file from its temp directory to $ROOT
$temp = $details['tmp_name'];
$target = $details['name'];
move_uploaded_file($temp, $ROOT.'/'.$target);
}
Подробнее см. http://www.php.net/manual/en/function.move-uploaded-file.php.
Ответ 2
Собственно, если вы попробуете Firefox ( > 13), вы можете получить опубликованное значение. Но если вы используете Chrome или Safari, вы не можете получить опубликованное значение. Я думаю, что это связано с браузерами.