Problème avec variable (débutant) HELP !
pierrej
-
YannOuch -
YannOuch -
Bonjour,
J'ai un petit problème !
voilà, j'ai un code PHP:
et je voudrai introduire cette variable à la place de "membre"
J'ai bien tenté de faire celà:
Mais ca ne marche pas...
Je suis sur que la solution est toute simple, mais je débute en php et j'en suis au chapitre des variable et supervariable .... et la je bloque... Pouvez-vous m'aider SVP ? :)
J'ai un petit problème !
voilà, j'ai un code PHP:
$dir_paste = './clients/membre/KG/';
et je voudrai introduire cette variable à la place de "membre"
<?php echo $_SESSION['membre_pseudo'] ?>
J'ai bien tenté de faire celà:
$dir_paste = './clients/echo $_SESSION['membre_pseudo']/KG/';
Mais ca ne marche pas...
Je suis sur que la solution est toute simple, mais je débute en php et j'en suis au chapitre des variable et supervariable .... et la je bloque... Pouvez-vous m'aider SVP ? :)
13 réponses
-
Montre ton code s'il te plait histoire d'avoir une vue d'ensemble.
pour les session n'oublie pas session start (); -
Merci de me répondre ! C'est vraiment cool :)
voilà mon code:
<?php function copy_dir ($dir2copy,$dir_paste) { // On vérifie si $dir2copy est un dossier if (is_dir($dir2copy)) { // Si oui, on l'ouvre if ($dh = opendir($dir2copy)) { // On liste les dossiers et fichiers de $dir2copy while (($file = readdir($dh)) !== false) { // Si le dossier dans lequel on veut coller n'existe pas, on le créé if (!is_dir($dir_paste)) mkdir ($dir_paste, 0777); // S'il s'agit d'un dossier, on relance la fonction récursive if(is_dir($dir2copy.$file) && $file != '..' && $file != '.') copy_dir ( $dir2copy.$file.'/' , $dir_paste.$file.'/' ); // S'il sagit d'un fichier, on le copue simplement elseif($file != '..' && $file != '.') copy ( $dir2copy.$file , $dir_paste.$file ); } // On ferme $dir2copy closedir($dh); } } } $dir2copy = './KG007/'; $dir_paste = './clients/membre/KG/'; // Copie le dossier $dir2copy dans le dossir $dir_paste, inutile de créé les dossiers copy_dir ($dir2copy,$dir_paste); ?>
Et j'aimerai remplacer "membre" par cette variable:
<?php echo $_SESSION['membre_pseudo'] ?>
-
... $mbr =$_SESSION['membre_pseudo']; $dir2copy = './KG007/'; $dir_paste = './clients/'.$mbr.'/KG/'; // Copie le dossier $dir2copy dans le dossir $dir_paste, inutile de créé les dossiers copy_dir ($dir2copy,$dir_paste); ?> ...
a tester mais pas sur. -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
le code passe sans problème, mais il ne créer pas le dossier "KG" comme prévu :/
Je pense qu'il doit y avoir un problème avec /'.$mbr.'/, car il doit comprendre /'lenomdumembre'/ hors, il doit comprendre /lenomdumembre/ sans les " ' " -
Tu n'as pas l'air très clair dans ta tête sur ce que tu veux faire exactement, du coup on comprend mal de notre coté (enfin moi j'avais rien compris au début)
Essaie ça directement :
$dir_paste = './clients/'.$_SESSION['membre_pseudo'].'/KG/';
Pour ta question, les chaines sont concaténées mais les quotes ne sont pas inclus dedans, tu devrait rechercher un tutoriel sur la manipulation de chaine, et tester ce que ça donne en l'affichant tout simplement, ce sera probablement plus clair pour toi par la suite -
merci de ta réponse, enfaite, je suis claire dans ma tête sur ce que je veux faire, en revanche, je manque énormément de vocabulaire pour me faire comprendre clairement !
je test ca ! merci encore ! :) -
-
peut être que je n'ai pas été claire... Je voudrai que le code copi le dossier KG007 et le colle dans ce répertoire: /clients/nomdumembre/ en créant un nouveau dossier qui va s'appeler KG... c'est bien ce que fait mon code ? non ?
je sèche là :/ -
ce code est il correct ?
$dir_paste = './'.$_SESSION['membre_pseudo'].'/KG/';
pouvez-vous me dire ce que php va comprendre avec ce code ? -
-
Bonsoir
Ajoute l'instruction error_reporting(E_ALL); au début de ton script. Il t'affichera très probablement un warning au niveau du mkdir qui t'aidera à comprendre.
si './'.$_SESSION['membre_pseudo'] existe déjà, il n'a peut-être pas les bons droits (d'ailleurs, c'est './'.$_SESSION['membre_pseudo'] ou './clients/'.$_SESSION['membre_pseudo'] ?)
S'il n'existe pas déjà, c'est normal que mkdir ne marche pas : mkdir ne crée pas deux niveaux de sous-répertoire à la fois. Il faut créer d'abord './clients/'.$_SESSION['membre_pseudo'], puis './clients/'.$_SESSION['membre_pseudo'].'/KG/'
Remarque : pourquoi tester if (!is_dir($dir_paste)) à l'intérieur du while ? C'est une perte de temps : une seule fois avant le while suffit. $dir_paste ne vas pas apparaître et disparaître entre deux fichiers -
Salut pourquoi ne pas faire comme tu l'as dis toi même :
$dir_paste = './clients/<?php echo $_SESSION['membre_pseudo'] ?>/KG/';
Non ?-
-
Ôui oops ! Pas tilté !
<?php
$id=$HTTP_SESSION_VARS['membre_pseudo'];
Pour ta session membre, donc $id (ou autre .. ) pour ton fichier.
Ensuite tes requêtes sql pour récupérer ce fichier.
$id=$HTTP_SESSION_VARS['membre_pseudo'];
if (is_numeric($id)) {
$$dir_paste=intval($id);
$sql=mysql_query("SELECT * FROM blabla WHERE fid=$id"); // pour ton fichier
}
else {
@$sql=mysql_query("SELECT * FROM blabla WHERE doss='$doss'") or die("erreur");
}
if(!mysql_num_rows($sql))
{
echo " ";
?>
à tester
-