Sto provando a mettere insieme un modulo HTML POST -ed con due campi: un caricamento di file e un campo di testo. Poiché il modulo ha un tipo multipart/form-data per il caricamento del file, non riesco ad accedere al campo di testo tramite la normale variabile PHP $ _POST. Quindi, come posso ottenere il campo di testo nel modulo con PHP?PHP - analisi dei dati modulo multiparte
Come da richiesta, ecco qualche codice, sostanzialmente preso direttamente da 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>";
?>
Questo è l'intero file di prova. Se rimuovo l'enctype, posso ottenere i dati POST-ed, ma non il file, ovviamente. Con l'enctype come multipart/form-data, posso ottenere il file, ma niente dai dati POST-ed.
Ecco l'output con l'enctype:
array(5) {
["name"]=>
string(34) "testing.png"
["type"]=>
string(0) ""
["tmp_name"]=>
string(0) ""
["error"]=>
int(1)
["size"]=>
int(0)
}
Senza:
testing
NULL
stesso ingresso entrambe le volte esatto.
Come Jonathan e Andrew hanno detto, $ _POST dovrebbe funzionare, assumendo che tu abbia usato post per pubblicare il tuo modulo (e questo è un buon presupposto, perché devi pubblicare i file). Quindi puoi pubblicare del codice? Assicurati che l'attributo name sia impostato nel campo di testo html, e questo è quello che usi per ottenere il valore di testo del testo. – alanquillin