Chdir() php

Résolu
Bonjour,
Je voudrai me placer dans mon répertoire $loginMembre, mais je n'y arrive pas, j'ail'erreur suivante :
Warning: chdir() [function.chdir]: No error (errno 0) in C:\wamp\www\image_ajout_2.php on line 17
Mon code est le suivant (une partie) :
<?php
session_start();
$loginMembre=$_SESSION['pseudo'];

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++TRAITEMENT DU FICHIER+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//verificationn de l'envoi du fichier
if ($_FILES['nomImage']['error'] > 0) $erreur = "Erreur lors du tranfsert";
//verification de l'extension
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
//1. strrchr renvoie l'extension avec le .
//2. substr(chaine,1) ignore le premier caractère de chaine
//3. strtolower met l'extension en minuscule
$extension_upload = strtolower(  substr(  strrchr($_FILES['nomImage']['name'], '.')  ,1)  );
//PROBLEME AVEC LE NOM DU DOSSIER ET LE DEPLACEMENT DE L'IMAGE!
if ( in_array($extension_upload,$extensions_valides) ) print("Extension correct");
echo getcwd() . "\n";
chdir('$loginMembre');
//on est dans le dossier loginMembre
echo getcwd() . "\n";


Qu'est ce qui ne va pas??
Configuration: Windows XP
Firefox 3.0.3

4 réponses

  1. Bonjour

    chdir('$loginMembre');
    Tu ne connais pas la différence entre $loginMembre,'$loginMembre' et "$loginMembre" en PHP ?
    $loginMembre c'est une variable qui contient... ben ça dépend de ton programme
    '$loginMembre' c'est une chaîne qui contient les caractères $,l,o,g, etc...
    "$loginMembre" c'est la chaine obtenue en ramplaçant la variable $loginMembre par son contenu

    si $loginMembre contient la chaîne "monrepertoire" :

    chdir($loginMembre); passe au répertoire monrepertoire
    chdir('$loginMembre'); passe au répertoire $loginMembre (qui n'existe sûrement pas)
    chdir("$loginMembre"); passe au répertoire monrepertoire
    1. Je suis un peu perdue! En fait, avec
      mkdir($loginMembre,0777,true);
      j'a créé un répertoire qui contient le login de l'utilisateur donc j'ai pu créer un répertoire didy à partir de $loginMembre=$_POST['loginMembre'];
      Mais là je voudrai me placer dans ce répertoire, comment faire sachant que mon
      $loginMembre=$_SESSION['pseudo'];
    2. @totoBen en fait si je comprends bien avec les explications que tu me donnes je devrais faire chdir($loginMembre); mais j'obtiens exactement la même erreur, pourtant je sélectionne bien le répertoire dont le nom est le contenu de $loginMembre, non?
  2. si je comprends bien avec les explications que tu me donnes je devrais faire chdir($loginMembre);
    Effectivement, chdir('$loginMembre') était incontestablement un erreur.
    Si ça ne marche pas mieux, c'est qu'il y a un autre problème. Peux-tu faire echo "*",$loginMembre,"*"; juste avant le chdir pour être sûr de ce qu'il y a dans ta variable ?
    1. En effet il y a un souci le echo m'affiche **, je ne comprends pas pourtant je passe bien par l'identification de l'utilisateur avant et j'ouvre la session au début!
  3. Quelle stupidité!!! je me suis trompée pour le parametre de la session avec le bon, il n'y a plus d'erreur et ça m'affiche bien didy quand je fais le echo!
    Merci Toto pour ton aide en tout cas!!!! :d