Próbuję utworzyć formularz HTML POST-ed, który ma dwa pola - plik do przesłania i pole tekstowe. Ponieważ formularz ma typ wieloczęściowy/dane formularza do przesłania pliku, nie można uzyskać w polu tekstowym za pomocą zwykłej zmiennej PHP _ _POST. Więc jak mogę uzyskać w polu tekstowym w formularzu z PHP?PHP - przetwarzanie wieloczęściowych danych formularza
Jak na żądanie, tu jest jakiś kod, w zasadzie pobierane bezpośrednio z 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>";
?>
To cały plik testowy. Jeśli usuniemy enctype, mogę uzyskać dane POST-ed, ale nie plik oczywiście. Dzięki entype jako wieloczęściowym/formularzowym, mogę uzyskać plik, ale nic z danych POST.
Oto wyjście z enctype:
array(5) {
["name"]=>
string(34) "testing.png"
["type"]=>
string(0) ""
["tmp_name"]=>
string(0) ""
["error"]=>
int(1)
["size"]=>
int(0)
}
Bez:
testing
NULL
dokładnie taki sam wkład zarówno razy.
Jak Jonathan i Andrew powiedzieli, $ _POST powinien działać, zakładając, że użyłeś posta do opublikowania formularza (i to jest dobre założenie, ponieważ musisz wysyłać pliki). Czy możesz napisać jakiś kod? Upewnij się, że atrybut nazwy jest ustawiony w polu tekstowym HTML i to jest to, czego używasz, aby uzyskać wartość tekstową. – alanquillin