Formulaire upload fichier
LynX
-
LynX -
LynX -
Bonjour,
J'ai rencontré un probleme avec mon formulaire d'upload, il fonctionnait avant pourtant... je ne comprends pas.
Je vous mets tout afin que vous puissiez tester vous meme.
mon message d'erreur: Warning: move_uploaded_file(/tmp/phpqwVL8b) [function.move-uploaded-file]: failed to open stream: Permission denied in /web/sites/vhbu3/1/141/96465/public/www/upload/upload.php on line 24
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpqwVL8b' to 'upload/don.png' in /web/sites/vhbu3/1/141/96465/public/www/upload/upload.php on line 24
Echec de l'upload !
fichier upload.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(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;
}
?>
fichier html:
<html>
<body>
<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>
</html>
Merci d'avance.
J'ai rencontré un probleme avec mon formulaire d'upload, il fonctionnait avant pourtant... je ne comprends pas.
Je vous mets tout afin que vous puissiez tester vous meme.
mon message d'erreur: Warning: move_uploaded_file(/tmp/phpqwVL8b) [function.move-uploaded-file]: failed to open stream: Permission denied in /web/sites/vhbu3/1/141/96465/public/www/upload/upload.php on line 24
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpqwVL8b' to 'upload/don.png' in /web/sites/vhbu3/1/141/96465/public/www/upload/upload.php on line 24
Echec de l'upload !
fichier upload.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(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;
}
?>
fichier html:
<html>
<body>
<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>
</html>
Merci d'avance.
A voir également:
- Formulaire upload fichier
- Whatsapp formulaire opposition - Guide
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
4 réponses
Je vais m'arracher les cheveux, ça doit venir du serveur, je suis hebergé chez Amen, je n'ai jamais eu de problemes pourtant.
Pourtant je ne refuse aucune permission.
Warning: move_uploaded_file(/tmp/phpqwVL8b) [function.move-uploaded-file]: failed to open stream: Permission denied in /web/sites/vhbu3/1/141/96465/public/www/upload/upload.php on line 24
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpqwVL8b' to 'upload/don.png' in /web/sites/vhbu3/1/141/96465/public/www/upload/upload.php on line 24
ligne24:
if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier))
Si ça marche en local et pas sur le serveur alors que j'ai autorisé les access je n'y comprends plus rien, personne pourrait m'aider?
Warning: move_uploaded_file(/tmp/phpqwVL8b) [function.move-uploaded-file]: failed to open stream: Permission denied in /web/sites/vhbu3/1/141/96465/public/www/upload/upload.php on line 24
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpqwVL8b' to 'upload/don.png' in /web/sites/vhbu3/1/141/96465/public/www/upload/upload.php on line 24
ligne24:
if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier))
Si ça marche en local et pas sur le serveur alors que j'ai autorisé les access je n'y comprends plus rien, personne pourrait m'aider?