par
bostak » 31 oct. 2012, 23:59
Bonsoir,
j'ai un problème sur une portabilité de variable du moins je pense. Je vous expose mon problème voici mon code :
j’appelle une méthode comme ceci :
Code : Tout sélectionner
echo $filer->deplaceFile("bibu.txt", "toto/cv/test/bibu.txt");
Voici la méthode appeler :
Code : Tout sélectionner
public function deplaceFile($currentPath, $newPath)
{
$bool = true;
$path=($this->informations($this->repertory('files'), $currentPath, $bool));
rename($path, $this->files."/".$newPath);
}
et voici la méthode informations que j'utilise également
Code : Tout sélectionner
public function informations($arbo, $filename, $bool)
{
foreach ($arbo as $var)
{
if($var['type'] == 'file' && $var["name"] == $filename)
{
if($bool == true){
echo $var['full_path'];
return ($var['full_path']);
}
else {
echo $var['name'];
echo $var['size'];
echo $var['stat']['ctime'];
}
}
elseif ($var['type'] == 'dir')
{
$this->informations($var['content'], $filename, $bool); /* bool à préciser*/
}
}
}
Le problème que je rencontre c'est que mon return $path me renvoie rien (c'est lui qui contient le chemin de mon fichier), pour infos j'écho la variable et elle contient bien les infos que je souhaitent.
Si je reprends ma méthode deplaceFile, mon $path est donc vide car je pense qu'il existe que dans ma méthode informations.
Cela fait un petit bout de temps que je cherche et je ne trouve malheureusement aucune solution à mon problème. Pourriez vous m'aider à le résoudre au plus vite ?
Merci d'avance.
Cordialement,
Bonsoir,
j'ai un problème sur une portabilité de variable du moins je pense. Je vous expose mon problème voici mon code :
j’appelle une méthode comme ceci :
[code]echo $filer->deplaceFile("bibu.txt", "toto/cv/test/bibu.txt");[/code]
Voici la méthode appeler :
[code]
public function deplaceFile($currentPath, $newPath)
{
$bool = true;
$path=($this->informations($this->repertory('files'), $currentPath, $bool));
rename($path, $this->files."/".$newPath);
}
[/code]
et voici la méthode informations que j'utilise également
[code]
public function informations($arbo, $filename, $bool)
{
foreach ($arbo as $var)
{
if($var['type'] == 'file' && $var["name"] == $filename)
{
if($bool == true){
echo $var['full_path'];
return ($var['full_path']);
}
else {
echo $var['name'];
echo $var['size'];
echo $var['stat']['ctime'];
}
}
elseif ($var['type'] == 'dir')
{
$this->informations($var['content'], $filename, $bool); /* bool à préciser*/
}
}
}[/code]
Le problème que je rencontre c'est que mon return $path me renvoie rien (c'est lui qui contient le chemin de mon fichier), pour infos j'écho la variable et elle contient bien les infos que je souhaitent.
Si je reprends ma méthode deplaceFile, mon $path est donc vide car je pense qu'il existe que dans ma méthode informations.
Cela fait un petit bout de temps que je cherche et je ne trouve malheureusement aucune solution à mon problème. Pourriez vous m'aider à le résoudre au plus vite ?
Merci d'avance.
Cordialement,