Originariamente inviato da SkOrPiOn`87
Ma ottengo sempre e solo questo messaggio:
Problemi nell'upload del file bandiera_italia.jpg
sara' per via della devolution ?
codice:
// andr3a: non mi risulta esistano casi in cui trim dia un false ...
// if (trim($_FILES['immagine']['name'])) {
if(isset($_FILES['immagine']['name'], $_FILES['immagine']['tmp_name'])) {
// Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
$upload_dir = "/ImagesCase/";
// Eventuale nuovo nome da dare al file uploadato
//$new_name = '';
// Se $new_name è vuota, il nome sarà lo stesso del file uploadato
// andr3a: e se l' hai appena settata vuota quand'e' che non lo sara' ?
$file_name = $upload_dir.trim( basename( $_FILES['immagine']['name'] ));
// andr3a: anche se trim non serve a molto visto che il campo file non e' scrivibile
if(strlen($file_name) == 0)
echo "Non hai indicato il file da uploadare! imamgine non inserita";
else { //Se il nome è stato inserito
// ma non si chiamava immagine ?
// if( is_uploaded_file( $_FILES["file"]["tmp_name"] )) {
if( is_uploaded_file( $_FILES['immagine']['tmp_name'] )) {
/** andr3a:
// qui proprio non ho capito .... che e' $k ?
// ah, ho capito ... ma a parte che le variabili vanno prima dichiarate,
// un'immagine pippo.jpg1 ha senso ?
while (file_exists("$upload_dir/$file_name" . $k)) {
//Se è il primo upload non aggiunge niente, se è già presente,
//allora aggiunge un numero per non sovrascrivere il file
$k++;
}//Una volta che non è più vero andiamo ad uppare con il nuovo nome del file
// andr3a: e mi sembra giusto ... ma farei cosi'
*/
$k = 1;
while(file_exists($file_name)) {
$new_name = substr($file_name, 0, strrpos($file_name, '.'));
$ext = substr($file_name, strlen($new_name));
$file_name = $new_name.($k++).$ext;
}
if( @move_uploaded_file( $_FILES['immagine']['tmp_name'] , $file_name) ) {
// $idcase cos'e' ?
$query = "INSERT INTO imm_immagini (nome, id_casa, foto_principale) VALUES ('{$file_name}', $idcase, 1)";
mysql_query($query) or die(mysql_error());
}
else
echo "Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.";
}
else
echo "Problemi nell'upload del file " . $_FILES['immagine']['name'] . ", se il problema persiste contattare l'amministratore del sito...";
}
}