Upload d'une image
Résolu
takolin
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
takolin Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
takolin Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
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
- Acronis true image - Télécharger - Sauvegarde
- Reduire taille image - Guide
7 réponses
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/
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.
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 :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.