aide pour mon UPLOAD svp

aide pour mon UPLOAD svp - PHP - Programmation

Marsh Posté le 21-06-2005 à 10:38:45    

Voila mon probleme :
je veus uploader une image jusque la mon code marche mais seulement en local, quand je mais mon script sur mon compte ftp pour l'integré à mon site sa ne marche pas l'erreur retourner est :  
 

Citation :

Veuillez indiquer un répertoire destination correct !


 
 
La variable qui contient le repertoir de destination dans mon code est sous la forme :
 

Citation :

$destination_dir = '/var/www/html/upload';


 
en local (qui marche) je la change :
 

Citation :

$destination_dir = 'C:\Program Files\EasyPHP1-8\www\up\img';


 
quand je le met sur mon compte ftp :

Citation :

$destination_dir = '/www/up/img/';


 
et la sa ne marche pas.
 
Si vs savez comment on fait je suis interessé.
 

Reply

Marsh Posté le 21-06-2005 à 10:38:45   

Reply

Marsh Posté le 21-06-2005 à 10:59:25    

il préférable d'utiliser la variable d'environnement suivante.
$_SERVER['DOCUMENT_ROOT']  
le chemin partira de la racine de ton site quelque soit là ou tu te trouve.

Reply

Marsh Posté le 21-06-2005 à 11:16:56    

oki je v voir ce que ca donne merci.

Reply

Marsh Posté le 21-06-2005 à 16:02:21    

euh ca marche pas
quelqu'un à une autre idée?

Reply

Marsh Posté le 21-06-2005 à 16:29:18    

- un bout de code ?
- message d'erreur exact ?

Reply

Marsh Posté le 21-06-2005 à 16:42:54    

dsl de vs donner tou le code ^^:
 

Citation :


<?php
  /**
   * function formatFileName
   * @access public
   * @param string - nom de fichier à formater
   * @param int - longueur maximale autorisée pour le nom de fichier
   * @return string - nom de fichier formaté
   * @desc Tronque éventuellement le nom de fichier, le convertit en minuscules et
   *           y élimine les caractères potentiellement dangereux.
   */
   function formatFileName($aFileName, $aMaxLength = 50) {
     $aFileName = strToLower(subStr($aFileName, 0, $aMaxLength));
     $aFileName = ereg_replace('[^a-zA-Z0-9,._\+\()\-]', '_', $aFileName);
 
     return $aFileName;
   } // end of function formatFileName() /2
 
 
 
 
 
 
   /* PARAMETRES DE CONFIGURATION DU SCRIPT
    */
 
   // chemin d'accès au répertoire d'upload (vers où le fichier uploadé temporaire sera transféré)
   // ce répertoire doit EXISTER et être ACCESSIBLE EN ECRITURE !!
   $destination_dir = '/www/up/img/';
 
   // taille maximale en octets du fichier à uploader
   $file_max_size = 10000;
 
   // extensions de fichiers autorisées
   $authorized_extensions = array('jpg', 'gif');
 
 
 
 
 
 
 
   /* TRAITEMENT PRINCIPAL
    */
 
   // vérifie l'existence du répertoire de destination
   if (!is_dir($destination_dir)) {
     echo 'Veuillez indiquer un r&eacute;pertoire destination correct !';
     die();
   }
 
   // vérifie que répertoire de destination a des droits en écriture
   if (!is_writeable($destination_dir)) {
     echo 'Veuillez spécifier des droits en écriture pour le r&eacute;pertoire destination !';
     die();
   }
 
   // réception du formulaire
   if (isSet($_POST['submitFile'])) {
 
     // vérifie qu'un fichier a bien été soumis
     if (isSet($_FILES) && is_array($_FILES)) {
 
       // pas d'erreur lors de l'upload
       if ($_FILES['aFile']['error'] == UPLOAD_ERR_OK) {
 
         // vérifie la taille en octets
         if ($_FILES['aFile']['size'] <= $file_max_size) {
 
           // vérifie l'extension du fichier recu
           // il est aussi possible (et sans doute mieux) de se baser sur $_FILES['aFile']['type']
           // qui retourne le type MIME correspondant (par exemple: image/pjpeg)
           $lastPos = strRChr($_FILES['aFile']['name'], "." );
           if ($lastPos !== false && in_array(strToLower(subStr($lastPos, 1)), $authorized_extensions)) {
 
             // définit un nom de fichier destination unique à partir du nom du fichier original formaté
             $destination_file = time().formatFileName($_FILES['aFile']['name']);
 
             // déplace le fichier uploadé du répertoire temporaire
 
 
             // vers les répertoire/fichier destination spécifiés
             if (move_uploaded_file($_FILES['aFile']['tmp_name'],
                                         $destination_dir.DIRECTORY_SEPARATOR.$destination_file)) {
               echo 'Fichier valide et upload&eacute; correctement.';
             } else { // error sur move_uploaded_file
               echo 'Le fichier n\'a pas &eacute;t&eacute; upload&eacute; correctement !';
             }
           } else { // pas d'extension ou mauvaise extension
             echo 'Mauvaise extension !';
           }
         } else { // Taille maximale dépassée
           echo 'Fichier trop volumineux !';
         }
       } else { // Erreur lors de l'upload
         switch ($_FILES['aFile']['error']){
           case UPLOAD_ERR_INI_SIZE:
              echo 'Le fichier upload&eacute; d&eacute;passe la valeur sp&eacute;cifi&eacute;e
                       pour upload_max_filesize dans php.ini.';
              break;
           case UPLOAD_ERR_FORM_SIZE:
              echo 'Le fichier upload&eacute; d&eacute;passe la valeur sp&eacute;cifi&eacute;e
                       pour MAX_FILE_SIZE dans le formulaire d\'upload.';
              break;
           case UPLOAD_ERR_PARTIAL:
              echo 'Le fichier n\'a &eacute;t&eacute que partiellement upload&eacute;.';
              break;
           default:
              echo 'Aucun fichier n\'a &eacute;t&eacute upload&eacute;.';
         } // switch
       }
     } else { // aucun fichier reçu
       echo 'Pas de fichier recu';
     }
   } // fin de réception de formulaire
?>
 


 
c'est la ligne :
 $destination_dir = '/www/up/img/';
 
qui me pose prob
 
C la ligne  
 echo 'Le fichier n\'a pas &eacute;t&eacute; upload&eacute; correctement !';
qui ressort

Reply

Marsh Posté le 21-06-2005 à 16:43:50    

euh le script et petit mais y a bocou de commentaire, dsl

Reply

Marsh Posté le 21-06-2005 à 16:55:09    

tu pourrais au moins le mettre entre les balises [*cpp][*/cpp]...

Reply

Marsh Posté le 21-06-2005 à 17:01:53    

Citation :


<?php
  /**
   * function formatFileName
   * @access public
   * @param string - nom de fichier à formater
   * @param int - longueur maximale autorisée pour le nom de fichier
   * @return string - nom de fichier formaté
   * @desc Tronque éventuellement le nom de fichier, le convertit en minuscules et
   *           y élimine les caractères potentiellement dangereux.
   */
   function formatFileName($aFileName, $aMaxLength = 50) {
     $aFileName = strToLower(subStr($aFileName, 0, $aMaxLength));
     $aFileName = ereg_replace('[^a-zA-Z0-9,._\+\()\-]', '_', $aFileName);
 
     return $aFileName;
   } // end of function formatFileName() /2
 
 
 
 
 
 
   /* PARAMETRES DE CONFIGURATION DU SCRIPT
    */
 
   // chemin d'accès au répertoire d'upload (vers où le fichier uploadé temporaire sera transféré)
   // ce répertoire doit EXISTER et être ACCESSIBLE EN ECRITURE !!
 

Code :
  1. $destination_dir = '/www/up/img/';


 
   // taille maximale en octets du fichier à uploader
   $file_max_size = 10000;
 
   // extensions de fichiers autorisées
   $authorized_extensions = array('jpg', 'gif');
 
 
 
 
 
 
 
   /* TRAITEMENT PRINCIPAL
    */
 
   // vérifie l'existence du répertoire de destination
   if (!is_dir($destination_dir)) {
   

Code :
  1. echo 'Veuillez indiquer un r&eacute;pertoire destination correct !';


     die();
   }
 
   // vérifie que répertoire de destination a des droits en écriture
   if (!is_writeable($destination_dir)) {
     echo 'Veuillez spécifier des droits en écriture pour le r&eacute;pertoire destination !';
     die();
   }
 
   // réception du formulaire
   if (isSet($_POST['submitFile'])) {
 
     // vérifie qu'un fichier a bien été soumis
     if (isSet($_FILES) && is_array($_FILES)) {
 
       // pas d'erreur lors de l'upload
       if ($_FILES['aFile']['error'] == UPLOAD_ERR_OK) {
 
         // vérifie la taille en octets
         if ($_FILES['aFile']['size'] <= $file_max_size) {
 
           // vérifie l'extension du fichier recu
           // il est aussi possible (et sans doute mieux) de se baser sur $_FILES['aFile']['type']
           // qui retourne le type MIME correspondant (par exemple: image/pjpeg)
           $lastPos = strRChr($_FILES['aFile']['name'], "." );
           if ($lastPos !== false && in_array(strToLower(subStr($lastPos, 1)), $authorized_extensions)) {
 
             // définit un nom de fichier destination unique à partir du nom du fichier original formaté
             $destination_file = time().formatFileName($_FILES['aFile']['name']);
 
             // déplace le fichier uploadé du répertoire temporaire
 
 
             // vers les répertoire/fichier destination spécifiés
             if (move_uploaded_file($_FILES['aFile']['tmp_name'],
                                         $destination_dir.DIRECTORY_SEPARATOR.$destination_file)) {
               echo 'Fichier valide et upload&eacute; correctement.';
             } else { // error sur move_uploaded_file
               echo 'Le fichier n\'a pas &eacute;t&eacute; upload&eacute; correctement !';
             }
           } else { // pas d'extension ou mauvaise extension
             echo 'Mauvaise extension !';
           }
         } else { // Taille maximale dépassée
           echo 'Fichier trop volumineux !';
         }
       } else { // Erreur lors de l'upload
         switch ($_FILES['aFile']['error']){
           case UPLOAD_ERR_INI_SIZE:
              echo 'Le fichier upload&eacute; d&eacute;passe la valeur sp&eacute;cifi&eacute;e
                       pour upload_max_filesize dans php.ini.';
              break;
           case UPLOAD_ERR_FORM_SIZE:
              echo 'Le fichier upload&eacute; d&eacute;passe la valeur sp&eacute;cifi&eacute;e
                       pour MAX_FILE_SIZE dans le formulaire d\'upload.';
              break;
           case UPLOAD_ERR_PARTIAL:
              echo 'Le fichier n\'a &eacute;t&eacute que partiellement upload&eacute;.';
              break;
           default:
              echo 'Aucun fichier n\'a &eacute;t&eacute upload&eacute;.';
         } // switch
       }
     } else { // aucun fichier reçu
       echo 'Pas de fichier recu';
     }
   } // fin de réception de formulaire
?>  

Reply

Marsh Posté le 21-06-2005 à 17:16:56    

je voulais dire TOUT (pour la coloration syntaxique)

Reply

Marsh Posté le 21-06-2005 à 17:16:56   

Reply

Marsh Posté le 21-06-2005 à 17:20:01    

pfff, c'est illisible maintenant, lol
 
sinon tas essayé avec

Code :
  1. $destination_dir = '/www/up/img';


cad sans le slash à la fin ?

Reply

Marsh Posté le 21-06-2005 à 17:25:59    

:( ca marche toujour pas

Reply

Marsh Posté le 21-06-2005 à 17:29:33    

- t'es sur que ton dossier existe ?
- t'as verifié les droits sur ce dossier ?
- ajoute un error_reporting(E_ALL); histoire de voir le vrai message d'erreur
 
PS: modifie tes posts, pas besoin d'avoir le code en 2 exemplaires

Reply

Marsh Posté le 21-06-2005 à 17:44:26    

ba oui, biensur que j'ai crée le fichier avant et libre en ecriture. bon ba je voi pas ma solution je me prend la tete dessu depuis 2 jours :(

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed