Problème PHP
Résolu
benoit422
Messages postés
124
Statut
Membre
-
benoit422 Messages postés 124 Statut Membre -
benoit422 Messages postés 124 Statut Membre -
Bonjours , j'ai intégré à mon site un formulaire pour envoyer un fichier sur mon serveur avec le code HTML :
et le code PHP :
Seulement lors de l'envoi du fichier l'erreur suivante apparaît :
Warning: move_uploaded_file(/www.*****/upload/******-.JPG): failed to open stream: No such file or directory in /home/httpd/d/a/r/******/www.*********.fr/envoi/upload.php on line 18 Warning: move_uploaded_file(): Unable to move '/tmp/httpd/upload/*********/phpz3XTp5' to '/www*******.fr/upload/******-.JPG' in /home/httpd/d/a/r/*****/www.*****.fr/envoi/upload.php on line 18 Echec de l'upload !
Auriez vous une solution ? Je précise que j'ai mis les droit 733 sur le dossier "envoi" (uniquement ) et je passe par FileZila , serveur FTP .
<form method="POST" action="upload.php" enctype="multipart/form-data">
<!-- On limite le fichier à 10Mo -->
<input type="hidden" name="MAX_FILE_SIZE" value="10000000">
Fichier : <input type="file" name="avatar">
<input type="submit" name="envoyer" value="Envoyer le fichier">
</form>
et le code PHP :
<?php
$dossier = '/www.******.fr/upload/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 10000000;
$taille = filesize($_FILES['avatar']['tmp_name']);
//Début des vérifications de sécurité...
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;
}
?>
Seulement lors de l'envoi du fichier l'erreur suivante apparaît :
Warning: move_uploaded_file(/www.*****/upload/******-.JPG): failed to open stream: No such file or directory in /home/httpd/d/a/r/******/www.*********.fr/envoi/upload.php on line 18 Warning: move_uploaded_file(): Unable to move '/tmp/httpd/upload/*********/phpz3XTp5' to '/www*******.fr/upload/******-.JPG' in /home/httpd/d/a/r/*****/www.*****.fr/envoi/upload.php on line 18 Echec de l'upload !
Auriez vous une solution ? Je précise que j'ai mis les droit 733 sur le dossier "envoi" (uniquement ) et je passe par FileZila , serveur FTP .
A voir également:
- Problème PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
2 réponses
Salut,
C'est que le dossier dans lequel tu essaies d'envoyer ton fichier n'existe pas :
alors que la racine de ton site est visiblement
Il vaut mieux que tu utilise un chemin relatif (au dossier du script) en l'occurrence :
Bonne continuation.
C'est que le dossier dans lequel tu essaies d'envoyer ton fichier n'existe pas :
$dossier = '/www.******.fr/upload/';
alors que la racine de ton site est visiblement
/home/httpd/d/a/r/******/www.*********.fr/
Il vaut mieux que tu utilise un chemin relatif (au dossier du script) en l'occurrence :
$dossier = '../upload/';
Bonne continuation.
benoit422
Messages postés
124
Statut
Membre
7
Effectivement , cela fonctionne , merci !