par
davidb » 02 juin 2010, 08:49
alors les gens j'ai bidouillé un peu la solution et j'ai trouvé donc ça donnes ça j ai peut etre compliqué pour rien il faut me le dire si c est le cas mais c est fonctionnel :
function PrepareTOCData ($source, $types){
global $docsTOC;
//$iterator2 = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source));
$iterator = new RecursiveDirectoryIterator($source);
foreach ($iterator as $file ) {
if (is_dir($file))
{
$docsTOC[] = array(
'Label' => $file->getFilename(),
'ObjectType' => 'Document',
'LIBELLE' => $file->getBasename(),
'FILENAME' => $file->getPathname(),
'REF' => '-',
'INDMAJ' => '',
'INDMIN' => '',
'DATEVERSION' => date("d/m/Y", $file->getMTime() )
);
$iterator2 = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($file));
foreach ( $iterator2 as $file2 ) {
/* Comme $file est forcément un fichier on n'a pas besoin de le tester
on se contente de tester si l'extension de ce fichier est dans le tableau des extensions autorisées.
*/
if (in_array ( pathinfo($file2, PATHINFO_EXTENSION), $types) ) {
// On construit $docsTOC "normalement"
$docsTOC[] = array(
'Label' => $file2->getFilename(),
'ObjectType' => 'Document',
'LIBELLE' => $file2->getBasename(),
'FILENAME' => $file2->getPathname(),
'REF' => '-',
'INDMAJ' => '',
'INDMIN' => '',
'DATEVERSION' => date("d/m/Y", $file2->getMTime() )
);
}
}
}
else
{
if (in_array ( pathinfo($file, PATHINFO_EXTENSION), $types) ) {
// On construit $docsTOC "normalement"
$docsTOC[] = array(
'Label' => $file->getFilename(),
'ObjectType' => 'Document',
'LIBELLE' => $file->getBasename(),
'FILENAME' => $file->getPathname(),
'REF' => '-',
'INDMAJ' => '',
'INDMIN' => '',
'DATEVERSION' => date("d/m/Y", $file->getMTime() )
);
}
}
}
// foreach ( $iterator2 as $file2 ) {
/* Comme $file est forcément un fichier on n'a pas besoin de le tester
on se contente de tester si l'extension de ce fichier est dans le tableau des extensions autorisées.
*/
// if (in_array ( pathinfo($file2, PATHINFO_EXTENSION), $types) ) {
// On construit $docsTOC "normalement"
// $docsTOC[] = array(
// 'Label' => $file2->getFilename(),
// 'ObjectType' => 'Document',
// 'LIBELLE' => $file2->getBasename(),
// 'FILENAME' => $file2->getPathname(),
// 'REF' => '-',
// 'INDMAJ' => '',
// 'INDMIN' => '',
// 'DATEVERSION' => date("d/m/Y", $file2->getMTime() )
// );
// }
// }
return true;
}
ps a 9h44 c est pas si fonctionnel que ça parce que ce n est pas recursif si j ai un dossier qui contient des fichiers et un dossier qui contient a son tour des fichier et des dossiers il n affiche que les premiers dossiers j essai de changer ça mais je galere en fait quelqu un peut m aider

alors les gens j'ai bidouillé un peu la solution et j'ai trouvé donc ça donnes ça j ai peut etre compliqué pour rien il faut me le dire si c est le cas mais c est fonctionnel :
[php]function PrepareTOCData ($source, $types){
global $docsTOC;
//$iterator2 = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source));
$iterator = new RecursiveDirectoryIterator($source);
foreach ($iterator as $file ) {
if (is_dir($file))
{
$docsTOC[] = array(
'Label' => $file->getFilename(),
'ObjectType' => 'Document',
'LIBELLE' => $file->getBasename(),
'FILENAME' => $file->getPathname(),
'REF' => '-',
'INDMAJ' => '',
'INDMIN' => '',
'DATEVERSION' => date("d/m/Y", $file->getMTime() )
);
$iterator2 = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($file));
foreach ( $iterator2 as $file2 ) {
/* Comme $file est forcément un fichier on n'a pas besoin de le tester
on se contente de tester si l'extension de ce fichier est dans le tableau des extensions autorisées.
*/
if (in_array ( pathinfo($file2, PATHINFO_EXTENSION), $types) ) {
// On construit $docsTOC "normalement"
$docsTOC[] = array(
'Label' => $file2->getFilename(),
'ObjectType' => 'Document',
'LIBELLE' => $file2->getBasename(),
'FILENAME' => $file2->getPathname(),
'REF' => '-',
'INDMAJ' => '',
'INDMIN' => '',
'DATEVERSION' => date("d/m/Y", $file2->getMTime() )
);
}
}
}
else
{
if (in_array ( pathinfo($file, PATHINFO_EXTENSION), $types) ) {
// On construit $docsTOC "normalement"
$docsTOC[] = array(
'Label' => $file->getFilename(),
'ObjectType' => 'Document',
'LIBELLE' => $file->getBasename(),
'FILENAME' => $file->getPathname(),
'REF' => '-',
'INDMAJ' => '',
'INDMIN' => '',
'DATEVERSION' => date("d/m/Y", $file->getMTime() )
);
}
}
}
// foreach ( $iterator2 as $file2 ) {
/* Comme $file est forcément un fichier on n'a pas besoin de le tester
on se contente de tester si l'extension de ce fichier est dans le tableau des extensions autorisées.
*/
// if (in_array ( pathinfo($file2, PATHINFO_EXTENSION), $types) ) {
// On construit $docsTOC "normalement"
// $docsTOC[] = array(
// 'Label' => $file2->getFilename(),
// 'ObjectType' => 'Document',
// 'LIBELLE' => $file2->getBasename(),
// 'FILENAME' => $file2->getPathname(),
// 'REF' => '-',
// 'INDMAJ' => '',
// 'INDMIN' => '',
// 'DATEVERSION' => date("d/m/Y", $file2->getMTime() )
// );
// }
// }
return true;
}[/php]
ps a 9h44 c est pas si fonctionnel que ça parce que ce n est pas recursif si j ai un dossier qui contient des fichiers et un dossier qui contient a son tour des fichier et des dossiers il n affiche que les premiers dossiers j essai de changer ça mais je galere en fait quelqu un peut m aider :agenouille: