Jean Pierre Daviau
2007-02-16 07:19:09 UTC
Bonjour à tous,
J'essaie de créer une fonction récursive qui enregistrera le
chemin d'un fichier. Vous avez des chemins de solutions?
<?php
class incl_class {
var $iteration = 0;
var $safepath;
var $member;
var $path;
var $basepath;
var $classe;
function incl_class($input){
$this->classe = $input;
$this->path = str_replace('\\', '/', __FILE__);
$fichier = substr($this->path, 0, strrpos($this->path, "/"));
$this->basepath = $fichier . "/";
$this->safepath = $this->basepath;
}
function OpenAllDir($PathToRepertoire = "./", $aRetourner =
array(), $level = 1)
{
$cpt = 0; // On ouvre le dossier
$dossier = opendir($PathToRepertoire); // On parcourt le
dossier
print "$PathToRepertoire\n";
//$this->basepath = $this->safepath;
while($dir = readdir($dossier))
{
if(is_dir($dir) && $dir != '.' && $dir != '..')
{
if($level > $this->iteration)
{
$this->basepath = $this->basepath . $dir . '/';
$this->iteration = $level;
}
$cpt++;
$aRetourner[$cpt] = array($dir, $this->OpenAllDir(
$PathToRepertoire . $dir . '/', $aRetourner[$cpt]),
$level++);
}
if ($dir === $this->classe) {
$this->basepath = $this->basepath;
print "Le fichier $dir existe\n";
break;
}
}
closedir($dossier);
return $this->basepath;
}
}//fin de class
$nw = new incl_class("haha.php");
echo $nw->OpenAllDir();
?>
dossier un
a.php
b.php
dossier deux
c.php
d.php
+ dossier soussol
e.php
haha.php
Jean Pierre Daviau
--
windows Xp
asus p4 s533/333/133
Intel(R) Celeron (R) CPU 2.00 GHz
Processor Radeon7000 0x5159 agp
J'essaie de créer une fonction récursive qui enregistrera le
chemin d'un fichier. Vous avez des chemins de solutions?
<?php
class incl_class {
var $iteration = 0;
var $safepath;
var $member;
var $path;
var $basepath;
var $classe;
function incl_class($input){
$this->classe = $input;
$this->path = str_replace('\\', '/', __FILE__);
$fichier = substr($this->path, 0, strrpos($this->path, "/"));
$this->basepath = $fichier . "/";
$this->safepath = $this->basepath;
}
function OpenAllDir($PathToRepertoire = "./", $aRetourner =
array(), $level = 1)
{
$cpt = 0; // On ouvre le dossier
$dossier = opendir($PathToRepertoire); // On parcourt le
dossier
print "$PathToRepertoire\n";
//$this->basepath = $this->safepath;
while($dir = readdir($dossier))
{
if(is_dir($dir) && $dir != '.' && $dir != '..')
{
if($level > $this->iteration)
{
$this->basepath = $this->basepath . $dir . '/';
$this->iteration = $level;
}
$cpt++;
$aRetourner[$cpt] = array($dir, $this->OpenAllDir(
$PathToRepertoire . $dir . '/', $aRetourner[$cpt]),
$level++);
}
if ($dir === $this->classe) {
$this->basepath = $this->basepath;
print "Le fichier $dir existe\n";
break;
}
}
closedir($dossier);
return $this->basepath;
}
}//fin de class
$nw = new incl_class("haha.php");
echo $nw->OpenAllDir();
?>
dossier un
a.php
b.php
dossier deux
c.php
d.php
+ dossier soussol
e.php
haha.php
Jean Pierre Daviau
--
windows Xp
asus p4 s533/333/133
Intel(R) Celeron (R) CPU 2.00 GHz
Processor Radeon7000 0x5159 agp