[PHP] move_upload_file() toujours FALSE

Alex95sang -  
 Alex95sang -
Bonjour,

J'ai un problème pour envoyer un fichier sur un serveur apache.

Donc j'ai utilisé un formulaire pour récupérer mon fichier, puis je veut l'envoyer sur mon serveur via la commande "move_upload_file()" si je ne me trompe pas.

Mais cette fonction me retourne toujours FALSE, sauriez-vous quel en est la cause ?

Voici mon code.

<?php
 
 if(isset($_POST['Envoyerdat']))
 { 
    $content_dir = "/home/h059730/nastran_test/";
    
    foreach($_FILES as $fichier) 
    { 
        $input_name = $_FILES['dat']['name'];
        $tmp_file = $_FILES['dat']['tmp_name'];
        
        if( !is_uploaded_file($tmp_file)) 
        {
            echo"File not found"; 
        }
        else 
        { 
            $name_file = $input_name;
            $final_upload = $content_dir . $name_file;
            
            echo "<br>TMP : $tmp_file<br>DIR : $content_dir<br>NAME : $name_file<br>FIN : $final_upload<br><br>";
            
            if( move_uploaded_file($tmp_file, $content_dir . $name_file) ) 
            { 
                echo"Fichier $name_file uploadé avec succes<br />"; 
            }
            else
            {
                echo "File upload failed"; 
            }
        } 
    }
 } 
 else
 {					
    echo "<TABLE BORDER=\"0\">
    <form ENCTYPE=\"multipart/form-data\" method='POST' action='$_PHP_SELF' name=\"formdat\">
    <TR>
        <TH><b><u>Fichier</b></u> <input type='file' name=\"dat\" value=\"\"></TH>
        <TH><input type='submit' name=\"Envoyerdat\" value=\"Envoyer\"></form></TH>
    </TR>
    </TABLE>";
 }
 
 ?>



Voici ce qui est retourné sur la page.
TMP : /tmp/php2KXMyq
DIR : /home/h059730/nastran_test/
NAME : test.dat
FIN : /home/h059730/nastran_test/test.dat

File upload failed 


Merci d'avance à ceux qui ce remuront les méninges :)

Alexandre.
A voir également:

4 réponses

P@t@ch0n Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   85
 
Je te suggère de faire un print_r($_FILES), tu devrais comprendre ton erreur en visualisant comment se présente le tableau.
0
Alex95sang
 
Et ça m'indique quoi de précis ?

Array ( [dat] => Array ( [name] => test.dat [type] => text/plain [tmp_name] => /tmp/phpwgPk8n [error] => 0 [size] => 10 ) ) 
0
P@t@ch0n Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   85
 
Je pensais en fait que tu faisais de l'upload multiple, car tu utilises un foreach.

Donc, je me suis trompé, mais ton foreach ne sert strictement à rien.

Sinon, est-ce que les droits sont ok dans le répertoire de destination ?

Ton error_reporting est bien à E_ALL ?
0
Alex95sang
 
Oups, le foreach, j'ai copié la mauvaise partie, parce que j'ai 2 zones d'upload, seul le foreach est rajouté pour le moment :P

Le Repertoire à les droits en 777 ;)

Qu'est-ce que le Error_reporting pourrais modifier ? Je le change quand même ;)
0