Ошибка отправки типа входного файла Нет значения

У меня есть форма, где я размещаю разные поля, и каждый тип поля, как представляется, работает, за исключением входного типа файла.

Я использую 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, вы не можете получить опубликованное значение. Я думаю, что это связано с браузерами.