2011-08-16 13 views
15

Ho un modulo in cui sto postando campi diversi e ogni tipo di campo pubblicato sembra funzionare tranne il tipo di input File.Inserimento del tipo di file di input Problema postato

Sto usando var_dump($_POST); e tutti gli altri campi ci sono ma nel file di tipo di input non c'è nulla.

La mia parte forma simile a questa:

<form enctype="multipart/form-data" id="ajax-form" action="index2.php" method="POST" data-ajax="true"> 

e funziona bene per tutto il resto.

Se c'è qualcosa di diverso nel file del tipo di input?

<input type="text" id="myid" name="myid" value="" /> ..This posts value 

<input id="theimage" name="theimage" type="file" /> .. does not post value 

Qualche idea a qualcuno?

+5

+1 Perché seriamente, questa domanda non è stata ancora chiesta? Ricordo di essermi incredibilmente frustrato la prima volta che ho dovuto capirlo. –

risposta

29

file vengono memorizzati in $ _FILES, non $ _POST

http://php.net/manual/en/reserved.variables.files.php $ _FILES variabile

http://www.php.net/manual/en/features.file-upload.php Upload manuale a PHP file.

di gestire il file (senza controllo degli errori):

$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); 
} 

Vedi anche http://www.php.net/manual/en/function.move-uploaded-file.php per ulteriori esempi.

+0

Appena provato: echo @ $ _ FILES ["theimage"]; ma restituisce array ... come posso ottenere il nome del file in una variabile? – Satch3000

+0

Se var_dump l'array, vedrai che è disposto con diverse voci, una per ogni file, quindi diversi pezzi di dati sul file. Modificherò il mio post con un esempio. –

+0

http://www.php.net/manual/en/features.file-upload.post-method.php dettagli il layout della matrice $ _FILES. –

0

In realtà se si prova Firefox (> 13), è possibile ottenere il valore indicato. Ma se utilizzi Chrome o Safari, non puoi ottenere il valore pubblicato. Penso che sia correlato con i browser.

Problemi correlati