In locale intendo, su un server locale.. Apache, in sostanza.
Comunque, ecco il codice.
Questo è il codice del form. Premetto che ho tagliato tutto meno le parti essenziali, perchè in realtà è integrato ad una tabella ed è piuttosto lungo come form, quindi inlcudo solo le parti relative all'invio del file...
Codice:
<form enctype="multipart/form-data" name="insel" action="pag2.php" method="post">
<input type="file" name="immagine">
</form>
Mentre quello che segue è il codice php relativo di pag2.php, unicamente la parte relativa alla manipolazione del file postato.
Codice:
<?
mysql_connect('localhost','account','password');
mysql_select_db('my_account');
$estensione=explode(".",$HTTP_POST_FILES['immagine']['name']);
$tempo=time();
echo $tempo;
echo $HTTP_POST_FILES['immagine']['name'];
if (move_uploaded_file($HTTP_POST_FILES['immagine']['tmp_name'],"cartellaprecreata/".$tempo.".".$estensione[1])){
$immagine=$tempo.".".$estensione[1];
} else {
$immagine='standard';
}
mysql_query() or die(); // non ve la scrivo per intero, è lunga. comunque viene effettuata senza problemi.
echo "Record inserito correttamente.";
?>
Ora.. va considerato che la query inserisce un record, fra cui anche il nuovo nome del file passato dal form, che viene in pratica rinominato attraverso la condizione if. Quella fork mi serve in sostanza perchè, se non viene inserita immagine, al campo viene affidato il valore "standard", e sostituito nelle pagine praticamente da una immagine standard, invece di una particolare. Il problema è che a quanto pare, il file non viene spostato dalla cartella temporanea a quella precreata, e come risultato naturalmente, la if restituisce FALSE e il campo viene registrato con STANDARD.
EDIT:
Ho verificato per sicurezza il codice, anche se ero sicuro fosse corretto.
Ho inserito nel codice php la funzione
is_uploaded_file($HTTP_POST_FILES['immagine']['tmp_name'])
e resituisce FALSE. Ho provato inoltre a verificare con
echo $_POST['immagine'];
e, non riesco a capire perchè, è VUOTA! Non riesco in sostanza a postare ne l'immagine ne semplicemente il suo nome. Son disperato. Help.
EDIT2:
Niente da fare. Sono davvero snervato: sono quattro giorni che ci perdo la testa e non riesco a capire perchè il form non invia l'immagine... E' come se non ne inserissi.