Problème PHP

Résolu
benoit422 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -  
benoit422 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -
Bonjours , j'ai intégré à mon site un formulaire pour envoyer un fichier sur mon serveur avec le code HTML :

<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:

2 réponses

Flachy Joe Messages postés 2102 Date d'inscription   Statut Membre Dernière intervention   261
 
Salut,
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.
1
benoit422 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   7
 
Effectivement , cela fonctionne , merci !
0
astuces72 Messages postés 7769 Date d'inscription   Statut Membre Dernière intervention   1 641
 
slt

remplace ça:
$dossier = '/www.******.fr/upload/';
par ça
$dossier = '/upload/';
-1
benoit422 Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   7
 
J'ai remplacé par $dossier = '../upload/' et tout fonctionne , merci .
0