Problemi con move_uploaded_file

antonio corizzo

Nuovo Utente
10 Giu 2021
13
0
1
Buon pomeriggio a tutti,

sto diventando pazzo con questa funzione move_uploaded_file, vi spiego cosa mi succede e spero che qualcuno di voi (sicuramente :) ) sappia darmi una risposta.
Su un server ubuntu 21 ho installato php e mysql e ho creato uno script (l'ho copiato in rete) che mi permetterebbe di fare l'upload di un immagine salvandola in una directory ben precisa, nel momento in cui dal form premo il submit lo script entra correttamente in funzione ma non mi esegue il move_uploaded_file. Ho provato anche a cambiare i permessi allo script ma non ne vengo a capo. Avete per caso qualche suggerimento al riguardo?

Grazie mille per la vostra disponibilità.
 
Pensavo che sparavate ad indovinare :-)
PHP:
$statusMsg = '';

// File upload path
$targetDir = "/var/www/html/test/immagini/imgpart/";

$fileName = basename($_FILES["img"]["name"]);
$targetFilePath = $targetDir . $fileName;
$fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);
if(isset($_POST["submit"]) && !empty($_FILES["img"]["name"])){
    // Allow certain file formats
    $allowTypes = array('jpg','png','jpeg','gif','pdf');
    if(in_array($fileType, $allowTypes)){
            // Upload file to server
            if(move_uploaded_file($_FILES["img"]["tmp_name"], $targetFilePath)){
            $sql = "INSERT INTO immagini (nomeimg, immagine) VALUES ('$fileName','$targetFilePath')";
            $insert = mysqli_query($mysqli,$sql);
            if($insert){
                $statusMsg = "The file ".$fileName. " has been uploaded successfully.";
            }else{
                $statusMsg = "File upload failed, please try again.";
            }
        }else{
            $statusMsg = "Sorry, there was an error uploading your file.";
        }
    }else{
        $statusMsg = 'Sorry, only JPG, JPEG, PNG, GIF, & PDF files are allowed to upload.';
    }
}else{
    $statusMsg = 'Please select a file to upload.';
}

// Display status message
echo $statusMsg;
 
Fai un try catch e vedi che dice...
PHP:
try{
move_uploaded_file($_FILES["img"]["tmp_name"], $targetFilePath)
}catch(Exception $e){
var_dump($e);
}
 
Innanzitutto grazie per la tua disponibilità, ho fatto quanto mi hai detto in più ho aggiunto throw al codice che mi avevi postato in quanto non mi stampava nulla a video. Ti allego il codice
 
PHP:
[CODE]$targetDir = "/var/www/html/test/immagini/imgpart/";



$fileName = basename($_FILES["img"]["name"]);

echo $_FILES["img"]["name"]."<br>";

$targetFilePath = $targetDir . $fileName;

$fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);

if(isset($_POST["submit"]) && !empty($_FILES["img"]["tmp_name"])){

        echo "sono nella if"."<br>";

            try{

                    move_uploaded_file($_FILES["img"]["tmp_name"], $targetFilePath);

                    throw new Exception($e);

                }catch(Exception $e){

                        var_dump($e);

                        echo "<br>";

                }

        }

    else{

        $statusMsg = 'Sorry, only JPG, JPEG, PNG, GIF, & PDF files are allowed to upload.';

    }

echo $statusMsg;





?>
[/CODE]
 
La risposta che ricevo è questa:

object(Exception)#1 (7) { ["message":protected]=> string(0) "" ["string":"Exception":private]=> string(0) "" ["code":protected]=> int(0) ["file":protected]=> string(53) "/var/www/html/test/phpfile/upload.php" ["line":protected]=> int(45) ["trace":"Exception":private]=> array(0) { } ["previous":"Exception":private]=> NULL }
 
La risposta che ricevo è questa:

object(Exception)#1 (7) { ["message":protected]=> string(0) "" ["string":"Exception":private]=> string(0) "" ["code":protected]=> int(0) ["file":protected]=> string(53) "/var/www/html/test/phpfile/upload.php" ["line":protected]=> int(45) ["trace":"Exception":private]=> array(0) { } ["previous":"Exception":private]=> NULL }
Non capisco perchè mi mette tutte faccine...provo ad allegatelo nella sezione codice...
Codice:
object(Exception)#1 (7) { ["message":protected]=> string(0) "" ["string":"Exception":private]=> string(0) "" ["code":protected]=> int(0) ["file":protected]=> string(53) "/var/www/html/gestionaledatacenter/phpfile/upload.php" ["line":protected]=> int(45) ["trace":"Exception":private]=> array(0) { } ["previous":"Exception":private]=> NULL }
 

Discussioni simili