Я пытаюсь соединить ОТПРАВЛЕННУЮ форму HTML, которая имеет два поля - загрузка файла и текстовое поле. Так как форма имеет тип multipart/form-data для загрузки файла, я не могу достигнуть текстовое поле через нормальный $ PHP _POST переменная. Таким образом, как я могу достигнуть текстовое поле в форме с PHP?
Согласно требуемому, вот некоторый код, в основном взятый непосредственно от Andrew:
<html>
<body>
<form action="test2.php" method="post" enctype="multipart/form-data">
Name: <input type="text" name="imageName" />
Image: <input type="file" name="image" />
<input type="submit" value="submit" />
</form>
</body>
</html>
<?php
echo $_POST['imageName'];
echo "<pre>";
echo var_dump($_FILES['image']);
echo "</pre>";
?>
Это - весь тестовый файл. Если я удаляю enctype, я могу получить ОТПРАВЛЕННЫЕ данные, но не файл, конечно. С enctype как multipart/form-data, я могу получить файл, но ничто от ОТПРАВЛЕННЫХ данных.
Вот вывод с enctype:
array(5) {
["name"]=>
string(34) "testing.png"
["type"]=>
string(0) ""
["tmp_name"]=>
string(0) ""
["error"]=>
int(1)
["size"]=>
int(0)
}
Без:
testing
NULL
Тот же точный вход оба раза.
Загрузка файлов осуществляется через $ _ FILES
. Все остальное проходит через $ _ POST
(при условии, что ваша HTML-форма имеет атрибут method
, установленный на "post"
).
$ _ POST
должен работать нормально для текстового поля. Вам нужно будет использовать $ _ FILES
для фактического файла. Учитывая следующий HTML:
<html>
<body>
<form action="self.php" method="post" enctype="multipart/form-data">
Name: <input type="text" name="imageName" />
Image: <input type="file" name="image" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
Вы можете получить доступ к полям следующим образом:
<?php
echo $_POST['imageName'];
echo "<pre>";
echo var_dump($_FILES['image']);
echo "</pre>";
?>
В вашем коде все в порядке; могла быть проблема с конфигурацией сервера.
<form action="" method="post" enctype="multipart/form-data">
Name: <input type="text" name="imageName">
Image: <input type="file" name="image">
<input type="submit" value="submit">
</form>
<?php var_dump($_POST, $_FILES); ?>
Скрипт: http://sandbox.phpieceofcake.com/upload/1246558881125336.php
Источник: http://sandbox.phpieceofcake.com/ upload / 1246558881125336.phps