IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] move_uploaded_file: problème de cible


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de paragoge
    Profil pro
    Inscrit en
    Février 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 115
    Par défaut [Upload] move_uploaded_file: problème de cible
    avec cette cible dans move_uploaded_file
    $finaldir = './';
    l' upload a lieu

    mais pas avec celle-ci:
    $finaldir = './upload/'; (upload est un dossier directement sous httpdocs et a rwx)

    Un vieux classique déjà rencontré 10.000 fois ou bien un truc plus vicieux?
    Voici le code on ne peut plus basic:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <?php
    $maxfiles = 3;
    $maxsize = 2000000;
    $finaldir = './';
     
    if(isset($_POST['valider'])){
     
      $nbr=0;
      for($x=0;$x<$maxfiles;$x++) 
        if(!empty($_FILES['userfile']['name'][$x])) $nbr++;
      if($nbr<=0) die("Aucun fichier spécifié !<br/>"); 
     
     
      for($x=1;$x<=$maxfiles;$x++) 
      {
        $errorhttp=$_FILES['userfile']['error'][$x-1];
        $filenamehttp = $_FILES['userfile']['name'][$x-1];
        $typehttp=$_FILES['userfile']['type'][$x-1]; 
        $sizehttp=$_FILES['userfile']['size'][$x-1];
        $tmpfilehttp=$_FILES['userfile']['tmp_name'][$x-1];
     
        if(@move_uploaded_file($tmpfilehttp,$finaldir.$filenamehttp)) 
    	{ 
        @chmod($filenamehttp,0777); 
        echo "Fichier n°$x uploadé : ".basename($filenamehttp). " (".round(max($sizehttp,1024)/1024)." ko)<br/>";
    	die ("Opération terminée.<br/>");
    	}
    	else
    	{
    	phpinfo();
    	}
      }
    }
    Merci pour votre éclairage!
    Paragoge

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    ca serait plutot /upload ou $_SERVER['DOCUMENT_ROOT'] . "/upload"
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé Avatar de paragoge
    Profil pro
    Inscrit en
    Février 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 115
    Par défaut
    Citation Envoyé par sabotage Voir le message
    ca serait plutot /upload ou $_SERVER['DOCUMENT_ROOT'] . "/upload"
    j'avais essayé $finaldir = "/upload" mais pas la deuxième option.
    Avant de tester ces deux solutions, un test avec "./" a uploadé.
    Après les avoir testées, l'upload avec "./" ne se fait plus!

    Je dois ouvrir ici une parenthèse: je suis sans cesse confronté au probléme du cache et je dois sans cesse effacer le cache dans firefox pour etre bien sûr d'avoir la page du server car il m'arrive très souvent de me faire piéger et de tester des scripts qui en fait proviennent du cache et non du server. Ca me tape sur les nerfs et il me manque ici une technique essentielle de contrôle...

    Merci pour vos conseils

    Paragoge

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    des scripts qui en fait proviennent du cache et non du server.
    Tu peux a la limite avoir le resultat en cache, mais pas le script.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé Avatar de paragoge
    Profil pro
    Inscrit en
    Février 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 115
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu peux a la limite avoir le resultat en cache, mais pas le script.
    Effectivement...
    l'upload se fait à nouveau correctement avec $finaldir = "./" et echoue avec les deux options proposées. Pour la deuxième option, comme le deuxième paramètre de move_uploaded_file est $finaldir.$userfile, avec $finaldir = $_SERVER['DOCUMENT_ROOT'] . "/upload"; la cible devient : uploaduserfile (correctement uploadée) et lorsque je modifie "/upload" en "/upload/" l'upload ne se fait pas non plus.

Discussions similaires

  1. [Upload] GROS problème UPLOAD d'image !
    Par skarapace dans le forum Langage
    Réponses: 3
    Dernier message: 20/11/2006, 11h44
  2. Problème fenêtre cible "_blank"
    Par oops! dans le forum Flash
    Réponses: 6
    Dernier message: 16/09/2006, 14h48
  3. [uPLOAD] move_uploaded_file combiné avec la fonction file
    Par chico_du_33 dans le forum Langage
    Réponses: 1
    Dernier message: 26/07/2006, 15h45
  4. Réponses: 4
    Dernier message: 22/06/2006, 19h06
  5. [Upload] move_uploaded_file et Free
    Par vichenze dans le forum Langage
    Réponses: 2
    Dernier message: 24/01/2006, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo