Probleme sur un script php (upload)
Fermé
asus
-
13 janv. 2008 à 14:37
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 - 15 janv. 2008 à 12:48
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 - 15 janv. 2008 à 12:48
Bonjour,
une erreur ligne 106
merci
une erreur ligne 106
// Ensuite, on copie le fichier uploadé ou bon nous semble. $uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER.$nomFichier);
merci
A voir également:
- Probleme sur un script php (upload)
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Youtube upload - Télécharger - Diffusion
- Microsoft activation script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
23 réponses
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
13 janv. 2008 à 15:37
13 janv. 2008 à 15:37
salut,
bon début !
est-ce qu'on pourrait avoir le message d'erreur stp ?
-;o)
si 'DESTINATION_FOLDER' est une constante il ne faut pas de '$' devant.
bon début !
est-ce qu'on pourrait avoir le message d'erreur stp ?
-;o)
si 'DESTINATION_FOLDER' est une constante il ne faut pas de '$' devant.
R4f
Messages postés
441
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
5 mai 2008
62
13 janv. 2008 à 15:44
13 janv. 2008 à 15:44
Salut,
Vérifie bien aussi que $DESTINATION_FOLDER.$nomFichier donne bien un nom genre uploads/lefichier.extension, bref qu'il y a un slash dans $DESTINATION_FOLDER (en fin) ou dans $nomFichier (au début).
Raph
Vérifie bien aussi que $DESTINATION_FOLDER.$nomFichier donne bien un nom genre uploads/lefichier.extension, bref qu'il y a un slash dans $DESTINATION_FOLDER (en fin) ou dans $nomFichier (au début).
Raph
Warning: move_uploaded_file(folder01/56.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/acr02/www/upload/uploader.php on line 106
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpdh171b' to 'folder01/56.jpg' in /home/acr02/www/upload/uploader.php on line 106
L'upload a échoué !
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpdh171b' to 'folder01/56.jpg' in /home/acr02/www/upload/uploader.php on line 106
L'upload a échoué !
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
13 janv. 2008 à 16:19
13 janv. 2008 à 16:19
salut,
est-ce que répertoire de destination '$DESTINATION_FOLDER' existe bien ?
est-ce que répertoire de destination '$DESTINATION_FOLDER' existe bien ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai supprimer ce script car pas de retour d'url apres upload
en voici un autre mais apres upload (qui ne marche pas) il me renvoi sur l'index of
en voici un autre mais apres upload (qui ne marche pas) il me renvoi sur l'index of
<?php if(isset($_FILES['photo'])) { // params unset($erreur); $extensions_ok = array('png', 'gif', 'jpg', 'jpeg'); $taille_max = 100000; $dest_dossier = 'up/'; // utilisez également des slashes sous windows : $dest_dossier = 'up/'; // vérifications if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) ) { $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !'; } elseif( file_exists($_FILES['photo']['tmp_name']) and filesize($_FILES['photo']['tmp_name']) > $taille_max) { $erreur = 'Votre fichier doit faire moins de 500Ko !'; } // copie du fichier if(!isset($erreur)) { $dest_fichier = basename($_FILES['up']['free']); // formatage nom fichier // enlever les accents $dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); // remplacer les caracteres autres que lettres, chiffres et point par _ $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier); // copie du fichier move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier); } } ?> <!-- Formulaire --> <!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" --> <form method="POST" action="up" enctype="multipart/form-data"> <!-- Limiter la taille des fichiers à 500Ko --> <input type="hidden" name="MAX_FILE_SIZE" value="500000" /> <fieldset> <legend><font color=#000000>Envoi de fichiers</font></legend> <!-- champs d'envoi de fichier, de type file --> <p><label for="photo"><font color=#000000>Fichier</font></label><input type="file" name="photo" /></p> <!-- bouton d'envoi --> <p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p> </legend> </fieldset> </form>
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
13 janv. 2008 à 16:46
13 janv. 2008 à 16:46
dans le 'action' il faut un nom de script complet.
<form method="POST" action="up" enctype="multipart/form-data">
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
13 janv. 2008 à 16:55
13 janv. 2008 à 16:55
il faut que tu mettes le nom du fichier qui devra être exécuté au moment où l'utilisateur clique sur "Valider".
tu fais tout dans le même fichier (affichage du formulaire et traitement de l'envoi du formulaire) donc il faut que tu indiques le nom du fichier.
si c'est 'up.php' ça fera :
tu fais tout dans le même fichier (affichage du formulaire et traitement de l'envoi du formulaire) donc il faut que tu indiques le nom du fichier.
si c'est 'up.php' ça fera :
<form method="POST" action="up.php" enctype="multipart/form-data">
ce que je pige pas c'est up.php pourquoi si c'est un fichier pour stocker non !
et si je met le formulaire a part donc form.html et up.php pour le script php, comment indiquer l'endroit ou les fichiers vont etre uploader et
sur ce script est il indiquer que a la fin de l'upload l'url du lien sera afficher..
et si je met le formulaire a part donc form.html et up.php pour le script php, comment indiquer l'endroit ou les fichiers vont etre uploader et
sur ce script est il indiquer que a la fin de l'upload l'url du lien sera afficher..
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
13 janv. 2008 à 17:46
13 janv. 2008 à 17:46
dans la balise <form> tu indiques juste quel page sera appelée par le serveur.
l'endroit où tu stockes les images il faut le définir dans ton script PHP avec une variable, par exemple :
il n'y a pas de rapport entre les deux.
si tu sépares formulaire HTML et script PHP, il faut indiquer l'adresse du fichier PHP.
l'endroit où tu stockes les images il faut le définir dans ton script PHP avec une variable, par exemple :
$dossierimages = 'mondossier';
il n'y a pas de rapport entre les deux.
si tu sépares formulaire HTML et script PHP, il faut indiquer l'adresse du fichier PHP.
asus02
Messages postés
197
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
18 septembre 2013
13
13 janv. 2008 à 18:01
13 janv. 2008 à 18:01
j'ai modifier le formulaire comme ca :
la page php (upload.php) :
mon fichier de stockage se nomme "up"
mais quand je veut uploader j'arrive sur la page php mais blanche ==>http://acr02.fr/test/
<!-- Formulaire --> <!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" --> <form method="POST" action="upload.php" enctype="multipart/form-data"> <!-- Limiter la taille des fichiers à 500Ko --> <input type="hidden" name="MAX_FILE_SIZE" value="500000" /> <fieldset> <legend><font color=#000000>Envoi de fichiers</font></legend> <!-- champs d'envoi de fichier, de type file --> <p><label for="photo"><font color=#000000>Fichier</font></label><input type="file" name="photo" /></p> <!-- bouton d'envoi --> <p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p> </legend> </fieldset> </form>
la page php (upload.php) :
<?php if(isset($_FILES['photo'])) { // params unset($erreur); $extensions_ok = array('png', 'gif', 'jpg', 'jpeg'); $taille_max = 100000; $dest_dossier = '/up/'; // utilisez également des slashes sous windows : $dest_dossier = '/up/'; // vérifications if( !in_array( substr(strrchr($_FILES['free']['name'], '.'), 1), $extensions_ok ) ) { $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !'; } elseif( file_exists($_FILES['up']['free']) and filesize($_FILES['up']['free']) > $taille_max) { $erreur = 'Votre fichier doit faire moins de 500Ko !'; } // copie du fichier if(!isset($erreur)) { $dest_fichier = basename($_FILES['up']['free']); // formatage nom fichier // enlever les accents $dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); // remplacer les caracteres autres que lettres, chiffres et point par _ $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier); // copie du fichier move_uploaded_file($_FILES['up']['free'], $dest_dossier . $dest_fichier); } } ?>
mon fichier de stockage se nomme "up"
mais quand je veut uploader j'arrive sur la page php mais blanche ==>http://acr02.fr/test/
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
13 janv. 2008 à 18:14
13 janv. 2008 à 18:14
ton script ne demande aucun affichage donc il est normal qu'il n'y ait rien d'affiché, mais est-ce que le fichier est uploadé ?
après ce sera à toi d'afficher ce que tu veux comme résultat.
après ce sera à toi d'afficher ce que tu veux comme résultat.
if( move_uploaded_file($_FILES['up']['free'], $dest_dossier . $dest_fichier) ) { echo( 'YES !!!' ); } else { echo( 'NO !' ); }
asus02
Messages postés
197
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
18 septembre 2013
13
13 janv. 2008 à 18:19
13 janv. 2008 à 18:19
non meme pas justement il doit y avoir une erreur sur le script mais je voit pas ou !
a tu tester sur le lien que j'ai poster plus haut ?
a tu tester sur le lien que j'ai poster plus haut ?
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
13 janv. 2008 à 18:47
13 janv. 2008 à 18:47
oui
et je tombe sur une page blanche…
et je tombe sur une page blanche…
asus02
Messages postés
197
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
18 septembre 2013
13
13 janv. 2008 à 19:02
13 janv. 2008 à 19:02
ta pas une idée ?
asus02
Messages postés
197
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
18 septembre 2013
13
13 janv. 2008 à 20:45
13 janv. 2008 à 20:45
aie pas d'aide ...
R4f
Messages postés
441
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
5 mai 2008
62
13 janv. 2008 à 22:59
13 janv. 2008 à 22:59
A la fin de ton fichier, ajoute (après ?>) :
Si tu ne vois pas "Coucou" dans ta page, c'est que le script a planté avant la fin de la page...
Raph
Coucou
Si tu ne vois pas "Coucou" dans ta page, c'est que le script a planté avant la fin de la page...
Raph
asus02
Messages postés
197
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
18 septembre 2013
13
13 janv. 2008 à 23:56
13 janv. 2008 à 23:56
et bien j'ai bien coucou apres l'upload mais rien dans mon dossier "up" et pas de retour lien
R4f
Messages postés
441
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
5 mai 2008
62
14 janv. 2008 à 00:01
14 janv. 2008 à 00:01
Ce qui ne va pas, c'est que dans ton script, tu utilises $_FILES['up'] alors que ton champ dans tonformulaire s'appelle 'photo'.
Il faudrait que tu remplaces tous les $_FILES['up'] par $_FILES['photo'].
Ca devrait suffire.
Raph
Il faudrait que tu remplaces tous les $_FILES['up'] par $_FILES['photo'].
Ca devrait suffire.
Raph
asus02
Messages postés
197
Date d'inscription
dimanche 30 décembre 2007
Statut
Membre
Dernière intervention
18 septembre 2013
13
14 janv. 2008 à 01:54
14 janv. 2008 à 01:54
je l'ai fait regarde :
mais c'est pareil je voit bien le "coucou" mais c'est tout et rien ne s'upload...
<?php if(isset($_FILES['up'])) { // params unset($erreur); $extensions_ok = array('png', 'gif', 'jpg', 'jpeg'); $taille_max = 100000; $dest_dossier = '/up/'; // utilisez également des slashes sous windows : $dest_dossier = '/up/'; // vérifications if( !in_array( substr(strrchr($_FILES['up']['name'], '.'), 1), $extensions_ok ) ) { $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !'; } elseif( file_exists($_FILES['up']['free']) and filesize($_FILES['up']['free']) > $taille_max) { $erreur = 'Votre fichier doit faire moins de 500Ko !'; } // copie du fichier if(!isset($erreur)) { $dest_fichier = basename($_FILES['up']['free']); // formatage nom fichier // enlever les accents $dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); // remplacer les caracteres autres que lettres, chiffres et point par _ $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier); // copie du fichier move_uploaded_file($_FILES['up']['free'], $dest_dossier . $dest_fichier); } }
mais c'est pareil je voit bien le "coucou" mais c'est tout et rien ne s'upload...