• User Newbie

    move_uploaded_file()

    Salve,
    sto cercando disperatamente di far funzionare l'upload dei file sul server tramite una maschera HTML con metodo POST e uno script PHP.
    Ecco lo script che contiene la funzione che utilizzo per l'upload dei file:

    <?
    function upload_file($path)
    {
    if ($_POST['invio'] != "invia_map")
    {
    echo "
    Errore, operazione ILLEGALE";
    }

    	if (!is_uploaded_file($_FILES['UploadedFile']['tmp_name']))
    	{
    		echo "
    

    Errore: UPLOAD FALLITO.";
    return $_FILES['UploadedFile']['error'];
    }

    	// Se come path viene passato null imposta un path di default
    	if ($path == null)
    		$path = getcwd() . "/dw";
    
    	$path_file = $path . "/" . basename($_FILES['UploadedFile']['name']);	
    
    	if (move_uploaded_file($_FILES['userfile']['tmp_name'], $path_file)) 
    	{
    		echo "
    

    <div align=center>move_uploaded_file ha trasferito il file scaricato.</div>";
    }
    else
    {
    echo "
    <div align=center>move_uploaded_file ha FALLITO!!!</div>";
    }

    	echo "<hr size=1 width=100%>";
    	echo "Percorso temporaneo: 
    

    " . $_FILES['UploadedFile']['tmp_name'] . "";
    echo "

    Percorso destinazione:
    " . $path_file . "";
    echo "

    Nome del file:
    " . $_FILES['UploadedFile']['name'] . "";
    echo "

    Dimensione del file:
    " . $_FILES['UploadedFile'] . "";
    echo "

    Tipo di file:
    " . $_FILES['UploadedFile']['type'] . "";
    echo "

    Tipo di file:
    " . $_FILES['UploadedFile']['error'] . "";
    echo "<hr size=1 width=100%>";

    	echo 'risultato di print_r($_FILES);';
    	echo "<pre>";
    	print_r($_FILES);
    	echo "</pre>";
    }
    

    ?>

    Ecco il risultato che ottengo quando cerco di uplodare un file:

    					move_uploaded_file ha FALLITO!!!
    

    Percorso temporaneo:
    /web/htdocs/tmp_upload/phpRL4okj

    Percorso destinazione:
    /mnt/resource/web/htdocs/www.maprad.com/home/restricted_area/users/testing/dw/isdn-script

    Nome del file:
    isdn-script

    Dimensione del file:
    2899

    Tipo di file:
    application/octet-stream

    Tipo di file:
    0risultato di print_r($_FILES);

    Array
    (
    [UploadedFile] => Array
    (
    [name] => isdn-script
    [type] => application/octet-stream
    [tmp_name] => /web/htdocs/tmp_upload/phpRL4okj
    [error] => 0
    => 2899
    )

    )

    Sembra che non ci sono errori nel caricamento ma move_uploaded_file() non riesce a spostare il file... in realtà nella dir temporanea non è presente il file "phpRL4okj" come indicato, non viene scaricato per niente! 😞
    Per quanto riguarda i permessi sono settati a 777 sia sulla dir temporanea sia sulla dir di destinazione.
    Cosa posso fare?
    Saluti,
    Fabio


  • User

    Puoi postare anche il modulo che usi per l'invio del file?

    Ciauz,
    Dean


  • User Newbie

    Grazie per la disponibilità ad aiutarmi ma ho risolto... avevo fatto uno dei soliti errori cretini, sbagliavo un parametro dell'array $_FILE... quello più importante!!! Ora funziona perfettamente