par
Nabette » 28 déc. 2007, 22:58
Je viens de voir sur d'autres sujets qu'il y a une balise exprès pour le php qui rend beaucoup plus lisible le code.
Comme je ne peux pas éditer mon précédent message, je me permets d'en poster un nouveau par soucis de lisibilité.
function listing($repertoire){
$fichier = array();
if (is_dir($repertoire)){
$dir = opendir($repertoire); //ouvre le repertoire courant désigné par la variable
while(false!==($file = readdir($dir))){
if(is_dir($file)) continue; //on lit tout et on récupere tout les fichiers dans $file
if(!in_array($file, array('.','..'))){ //on eleve le parent et le courant '. et ..'
$page = $file; //sort l'extension du fichier
$page = explode('.', $page);
$nb = count($page);
$nom_fichier = $page[0];
for ($i = 1; $i < $nb-1; $i++){
$nom_fichier .= '.'.$page[$i];
}
if(isset($page[1])){
$ext_fichier = $page[$nb-1];
if(!is_file($file)) { $file = '/'.$file; }
}
else {
if(!is_file($file)) { $file = '/'.$file; } //on rajoute un "/" devant les dossier pour qu'ils soient triés au début
$ext_fichier = '';
}
if($ext_fichier != 'php' and $ext_fichier != 'htm' and $ext_fichier != 'jpeg') { //utile pour exclure certains types de fichiers à ne pas lister
array_push($fichier, $file);
}
}
}
}
natcasesort($fichier); //la fonction natcasesort( ) est la fonction de tri standard sauf qu'elle ignore la casse
foreach($fichier as $value) {
echo '<a href="'.rawurlencode($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).'">'.$value.'</a><br />';
}
}
//exemple d'utilisation :
listing('.'); //chemin du dossier
Les fonctions que j'ai pu voir sont :
Pour la date de création
http://www.webrankinfo.com/forums/viewtopic_44657.htm
La taille des fichiers :
http://fr3.php.net/filesize | avec la fonction "filesize()"
Mais que je n'arrive pas à intégrer à mes lignes.
Je viens de voir sur d'autres sujets qu'il y a une balise exprès pour le php qui rend beaucoup plus lisible le code.
Comme je ne peux pas éditer mon précédent message, je me permets d'en poster un nouveau par soucis de lisibilité.
[php]
function listing($repertoire){
$fichier = array();
if (is_dir($repertoire)){
$dir = opendir($repertoire); //ouvre le repertoire courant désigné par la variable
while(false!==($file = readdir($dir))){
if(is_dir($file)) continue; //on lit tout et on récupere tout les fichiers dans $file
if(!in_array($file, array('.','..'))){ //on eleve le parent et le courant '. et ..'
$page = $file; //sort l'extension du fichier
$page = explode('.', $page);
$nb = count($page);
$nom_fichier = $page[0];
for ($i = 1; $i < $nb-1; $i++){
$nom_fichier .= '.'.$page[$i];
}
if(isset($page[1])){
$ext_fichier = $page[$nb-1];
if(!is_file($file)) { $file = '/'.$file; }
}
else {
if(!is_file($file)) { $file = '/'.$file; } //on rajoute un "/" devant les dossier pour qu'ils soient triés au début
$ext_fichier = '';
}
if($ext_fichier != 'php' and $ext_fichier != 'htm' and $ext_fichier != 'jpeg') { //utile pour exclure certains types de fichiers à ne pas lister
array_push($fichier, $file);
}
}
}
}
natcasesort($fichier); //la fonction natcasesort( ) est la fonction de tri standard sauf qu'elle ignore la casse
foreach($fichier as $value) {
echo '<a href="'.rawurlencode($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).'">'.$value.'</a><br />';
}
}
//exemple d'utilisation :
listing('.'); //chemin du dossier
[/php]
Les fonctions que j'ai pu voir sont :
Pour la date de création http://www.webrankinfo.com/forums/viewtopic_44657.htm
La taille des fichiers : http://fr3.php.net/filesize | avec la fonction "filesize()"
Mais que je n'arrive pas à intégrer à mes lignes.