Page 1 sur 2

Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 20:38
par Long
Bonjour à tous!
Ma fonction [b]move_uploaded_file() ne fonctionne pas[/b]! Aidez-moi, SVP! Merci d'avance!
La route de mon serveur est: http://localhost/~truonghc/
Et la route de mon repertoire Uploads est : http://localhost/~truonghc/Uploads/

Le fichier de formulaire formulaire.php:

[code][html]<form action="cible.php" method="post" enctype="multipart/form-data">
p>Formulaire d'envoi de fichier<br/>
<input type="file" name="monfichier" />
</p>
<input type="submit" name="submit" value="submit" />
</form>[/html][/code]


Le fichier cible.php:

[code][php]<?php
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
{
// Testons si le fichier n'est pas trop gros
if ($_FILES['monfichier']['size'] <= 1000000)
{
// Testons si l'extension est autorisée
$infosfichier = pathinfo($_FILES['monfichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees))
{
// On peut valider le fichier et le stocker définitivement
$fichier = basename($_FILES['monfichier']['name']);
if(move_uploaded_file($_FILES['monfichier']['tmp_name'], '/~truonghc/Uploads/' .$fichier))
echo "L'envoi a bien été effectué !";
else echo 'Echec de l\'upload !';
}
}
}
?>[/php][/code]

Re: Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 21:14
par moogli
salut,


Est ce qu'il y a un message d'erreur qui va avec ?
si ce n'est pas le cas vérifie l'error_reporting, il doit être au E_ALL.

est ce que /~truonghc/Uploads/ est un chemin valide sur ton serveur ?

que donne un var_dump($_FILES) ?

@+

Re: Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 21:21
par ghost5922
Bonjour,

essaie de mettre
if(move_uploaded_file($_FILES['monfichier']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/Uploads/' .$fichier)) 
ou juste le chemin vers uploads
if(move_uploaded_file($_FILES['monfichier']['tmp_name'], 'Uploads/' .$fichier))

Re: Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 21:22
par Long
Je ne sáis pas. Je pense que cette fonction ne fonctionne pas parce que la route n'est pas bon! Alors j'ai cité ma route du serveur en haut. Quand je les lançais. Il s'affichait le message: Echec de l'upload ! Voila!

Re: Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 21:28
par ghost5922
Re,

tu as tester mes deux solutions ?

Re: Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 21:31
par ouiiou
Salut ghost5922
Je viens de tester tes solutions, mais il s'affichait encore ce truc "Echec de l'upload !". Et j'ai vérifier dans le répertoire Uploads, il n'y avait rien.

Re: Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 21:38
par ghost5922
Ok et tu as mi la ligne que moogli ta dit
error_reporting(E_ALL);
en haut de ton fichier

Re: Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 21:45
par ghost5922
retire le if de la fonction voir l'erreur
<?php
error_reporting(E_ALL);
         // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
         if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
         {
            // Testons si le fichier n'est pas trop gros
            if ($_FILES['monfichier']['size'] <= 1000000)
            {
                // Testons si l'extension est autorisée
                $infosfichier = pathinfo($_FILES['monfichier']['name']);
                $extension_upload = $infosfichier['extension'];
                $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
                if (in_array($extension_upload, $extensions_autorisees))
                {
                        // On peut valider le fichier et le stocker définitivement
                        $fichier = basename($_FILES['monfichier']['name']);
                        /*if(move_uploaded_file($_FILES['monfichier']['tmp_name'], '/~truonghc/Uploads/' .$fichier)) 
                           echo "L'envoi a bien été effectué !";
                        else echo 'Echec de l\'upload !';*/
						move_uploaded_file($_FILES['monfichier']['tmp_name'], 'Uploads/' .$fichier);
                }
            }
         }
?>
ton fichier toi être a la racine

/cible.php
/Uploads/

Re: Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 21:48
par ouiiou
Je dois mettre cette ligne où dans mon code?
J'ai met ce truc comme ca:
<?php
...
else echo 'Echec de l\'upload !';
error_reporting(E_ALL);
?>
Mais il n'y avait rien est changé

Re: Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 21:49
par ghost5922
copie le code que je te mi plus haut

Re: Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 21:55
par ouiiou
Non, les deux fichiers cible.php et formulaire.php dans le répertoire /codes

Re: Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 21:57
par ghost5922
ok donc cela donne

/codes/cible.php
/Uploads/

? si oui test cela
<?php
error_reporting(E_ALL);
         // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
         if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
         {
            // Testons si le fichier n'est pas trop gros
            if ($_FILES['monfichier']['size'] <= 1000000)
            {
                // Testons si l'extension est autorisée
                $infosfichier = pathinfo($_FILES['monfichier']['name']);
                $extension_upload = $infosfichier['extension'];
                $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
                if (in_array($extension_upload, $extensions_autorisees))
                {
                        // On peut valider le fichier et le stocker définitivement
                        $fichier = basename($_FILES['monfichier']['name']);
                        /*if(move_uploaded_file($_FILES['monfichier']['tmp_name'], '/~truonghc/Uploads/' .$fichier)) 
                           echo "L'envoi a bien été effectué !";
                        else echo 'Echec de l\'upload !';*/
						move_uploaded_file($_FILES['monfichier']['tmp_name'], '../Uploads/' .$fichier);
                }
            }
         }
?>

Re: Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 22:00
par ouiiou
Je viens de copier tes code et J'ai mis deux fichier en route /cible.php et fichier /formulaire.php aussi. Il marche bien. Mais si ils se trouvent dans le répertoire /codes alors il marche pas.

Re: Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 22:05
par ghost5922
et avec celui juste au dessus ?

Re: Fonction move_uploaded_file ne fonctionne pas! :(

Posté : 30 mai 2013, 22:06
par ouiiou
Ok, il a fonctionne bien. Merci ghost5922 :D