Upload d'une image
Résolu/Fermé
takolin
Messages postés
8
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
13 avril 2011
-
11 mai 2009 à 19:03
takolin Messages postés 8 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 13 avril 2011 - 12 mai 2009 à 14:06
takolin Messages postés 8 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 13 avril 2011 - 12 mai 2009 à 14:06
Bonjour,
J'aimerias beaucoup pouvoir un jour uploader une image sur mon site, mais... Quand j'ai enfin pu mettre un formulaire qui me semble fontionner (ou plutôt un formulaire que j'ai enfin pu comprendre...) Il me vient ce message:
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access upload/renard.jpg in /home/httpd/vhosts/takolin.ch/httpdocs/veledes/upload/upload.php on line 24
Je ne sais pas quoi faire...
Merci ce votre aide
J'aimerias beaucoup pouvoir un jour uploader une image sur mon site, mais... Quand j'ai enfin pu mettre un formulaire qui me semble fontionner (ou plutôt un formulaire que j'ai enfin pu comprendre...) Il me vient ce message:
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access upload/renard.jpg in /home/httpd/vhosts/takolin.ch/httpdocs/veledes/upload/upload.php on line 24
Je ne sais pas quoi faire...
Merci ce votre aide
A voir également:
- Upload d'une image
- Image iso - Guide
- Légender une image - Guide
- Youtube upload - Télécharger - Diffusion
- Comment agrandir une image - Guide
- Acronis true image - Télécharger - Sauvegarde
7 réponses
le_boss
Messages postés
168
Date d'inscription
vendredi 8 août 2008
Statut
Membre
Dernière intervention
29 octobre 2011
19
11 mai 2009 à 19:15
11 mai 2009 à 19:15
Bonjour
On peut voir le code ? paske sans ça c'est difficile de voir où est l'erreur.
On peut voir le code ? paske sans ça c'est difficile de voir où est l'erreur.
takolin
Messages postés
8
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
13 avril 2011
11 mai 2009 à 19:51
11 mai 2009 à 19:51
Oupss...
Voilà la page du formulaire:
<form method="POST" action="upload.php" enctype="multipart/form-data">
<!-- On limite le fichier à 100Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
Fichier : <input type="file" name="avatar">
<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
Et le fichier PHP:
<?php
$dossier = 'upload/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(copy($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
?>
Le tout est placé dans mon site à l'adresse: www.takolin.ch/veledes/upload/
Voilà la page du formulaire:
<form method="POST" action="upload.php" enctype="multipart/form-data">
<!-- On limite le fichier à 100Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
Fichier : <input type="file" name="avatar">
<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
Et le fichier PHP:
<?php
$dossier = 'upload/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(copy($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
?>
Le tout est placé dans mon site à l'adresse: www.takolin.ch/veledes/upload/
le_boss
Messages postés
168
Date d'inscription
vendredi 8 août 2008
Statut
Membre
Dernière intervention
29 octobre 2011
19
11 mai 2009 à 21:15
11 mai 2009 à 21:15
euh dans l'erreur de ton 1er post on voit que tu utilises la fonction "move_uploaded_file()" et dans ton code elle y est pas sauf erreur. Donc y doit manquer quelque chose.
A part ça, vérifies que les chemins soient justes. Genre, "upload/renard.jpg" si ton script est déjà situé dans le dossier upload, il faut mentionner seulement "renard.jpg"... enfin, je suis surement pas clair, là, mais je vois pas comment le dire autrement.
A part ça, vérifies que les chemins soient justes. Genre, "upload/renard.jpg" si ton script est déjà situé dans le dossier upload, il faut mentionner seulement "renard.jpg"... enfin, je suis surement pas clair, là, mais je vois pas comment le dire autrement.
takolin
Messages postés
8
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
13 avril 2011
11 mai 2009 à 21:36
11 mai 2009 à 21:36
Je coirs que j'ai du faire une changement et que je ne suis pas revenu juste.
Voilà le message d'erreur actuel:
Warning: move_uploaded_file(renard.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/httpd/vhosts/takolin.ch/httpdocs/veledes/upload/upload.php on line 24
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpVhA5aD' to 'renard.jpg' in /home/httpd/vhosts/takolin.ch/httpdocs/veledes/upload/upload.php on line 24
et voilà mon fichier PHP:
<?php
$dossier = '';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
?>
Pour mon dossier j'ai laissé vide:
$dossier = '';
C'est just?!?
Merci de ton aide le_boss :)
Voilà le message d'erreur actuel:
Warning: move_uploaded_file(renard.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/httpd/vhosts/takolin.ch/httpdocs/veledes/upload/upload.php on line 24
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpVhA5aD' to 'renard.jpg' in /home/httpd/vhosts/takolin.ch/httpdocs/veledes/upload/upload.php on line 24
et voilà mon fichier PHP:
<?php
$dossier = '';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
?>
Pour mon dossier j'ai laissé vide:
$dossier = '';
C'est just?!?
Merci de ton aide le_boss :)
le_boss
Messages postés
168
Date d'inscription
vendredi 8 août 2008
Statut
Membre
Dernière intervention
29 octobre 2011
19
11 mai 2009 à 22:11
11 mai 2009 à 22:11
à voir comme ça, oui
maintenant quand je vois "permission denied" et "unable to move" je pencherais presque pour le fait que les répertoires en question n'ont pas le bon chmod.
t'es sur un serveur perso ou chez un hébergeur ?
maintenant quand je vois "permission denied" et "unable to move" je pencherais presque pour le fait que les répertoires en question n'ont pas le bon chmod.
t'es sur un serveur perso ou chez un hébergeur ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
takolin
Messages postés
8
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
13 avril 2011
11 mai 2009 à 22:16
11 mai 2009 à 22:16
Je suis chez un hébergeur, pour le dossier que je veux comme dossier finale pour mes images (c'est à dire upload) je peux mettre le chmod que je veux, actuellement c'est en 775.
le_boss
Messages postés
168
Date d'inscription
vendredi 8 août 2008
Statut
Membre
Dernière intervention
29 octobre 2011
19
11 mai 2009 à 22:28
11 mai 2009 à 22:28
alors là, j'ai de la peine à voir d'où vient le problème...
ce que je te conseille, c'est de faire des essais en partant d'un truc basique, puis revenir progressivement à ton truc définitif en réessayant chaque fois... comme ça par élimination tu pourras voir ce qui embête
ce que je te conseille, c'est de faire des essais en partant d'un truc basique, puis revenir progressivement à ton truc définitif en réessayant chaque fois... comme ça par élimination tu pourras voir ce qui embête
takolin
Messages postés
8
Date d'inscription
vendredi 28 novembre 2008
Statut
Membre
Dernière intervention
13 avril 2011
12 mai 2009 à 14:06
12 mai 2009 à 14:06
Merci, j'ai fais cela, sa a rien donné puis j'ai compris que je devais aussi mettre le fichier php en chmod 775, puis tout roule comme sur des roulettes...
Merci bien de ton aide!
Merci bien de ton aide!