Page 1 sur 2
Un script qui affiche une liste de liens pointant vers les
Posté : 19 nov. 2005, 20:41
par phpdog
Bonjour à tous
Je voudrai créer un petit script qui affiche les noms des dossiers du répertoire courant avec les liens pointant vers ses dossier, quelqu’un pourrait-il m’orienter vers un tutorial adapter ?
Posté : 19 nov. 2005, 20:47
par rami
J'ai pas de tutoriels sous la main (cherche sur google), mais je peux te conseiller d'utiliser la fonction
glob().
Elle te permet de lister les fichiers selon un motif (*.txt par exemple, ou *.*).
Elle te retourne un tableau contenant les noms des fichiers. Donc tu parcours ce tableau en faisant des liens vers les fichiers.
Posté : 19 nov. 2005, 20:51
par phpdog
Bonjour rami et merci
Donc vous voulez dire qu'il faut que je fasse les liens manuelement aprés le listage ?
Posté : 19 nov. 2005, 20:53
par phpdog
Je par avec ceci:
Code : Tout sélectionner
<?php
$files = glob("*.txt");
foreach ($files as $filename) {
echo "$filename occupe " . filesize($filename) . " octets\n";
}
?>
Sauriez vous se que je dois faire pou qu'il n'y est que les répertoires qui soit afficher je ne trouve rien ?
Posté : 20 nov. 2005, 13:06
par eSp
Salut,
Je pense que ce bout de code t'aidera beaucoup aussi, à toi de le modifier selon tes envies !
<?php
function direcho($path) {
global $filetotal, $fullsize, $totaldirs;
if ($dir = opendir($path)) {
while (false !== ($file = readdir($dir))) {
if (is_dir($path."/".$file)) { //Si c'est un répertoire, on vérifie son contenu
if ($file != '.' && $file != '..') { // mais on exclut les fichiers '.' ou '..'
echo '<li><b>' . $file . '</b></li><ul>';
direcho($path."/".$file);
echo '</ul>';
$totaldirs++;
}
}
else { //Si ce n'est pas un répertoire, on afficher simplement les fichiers avec la taille
$tab = " ";
$filesize = $tab . '(' . filesize ($path.'/'.$file) . ' kb)';
echo '<li>' . $file . $filesize . '</li>';
$fullsize = $fullsize + filesize ($path.'/'.$file);
$filetotal++;
}
}
closedir($dir);
}
}
direcho('.');
$fullsize = round($fullsize / 1024 / 1024, 2);
echo"<br><br>
<b>Nombre total de fichiers</b> - $filetotal fichier(s)<br>
<b>Nombre total de répertoires</b> - $totaldirs répertoire(s)<br>
<b>Taille Totale</b> - $fullsize MB<br>
";
?>

;)
Posté : 20 nov. 2005, 13:11
par phpdog
Bonjour eSp et merci beaucoup
Mias se script ne mets pas de liens.
Posté : 20 nov. 2005, 13:12
par eSp
Non mais je crois pas que cela soit difficile de rajouter le petit bout de code pour le faire ! Doc je te laisse le plaisir de le faire !

Il faut bien que tu travailles un peu, non ?
Posté : 20 nov. 2005, 13:18
par phpdog
OK merci

Posté : 20 nov. 2005, 20:30
par rami
J'insiste avec ma fonction glo(), mais je la trouve vraiment plus simple, et y'a moins de lignes de codes avec:
phpdog, dans le
lien donné tout à l'heure, si tu avais lu la page, tu serais tombé sur la liste des valeurs du 2ème argument de cette fonction, qui permet de changer le comportement par défaut:
<?php
$directories = glob("*",GLOB_ONLYDIR);
foreach ($directoriesas $dir) {
echo "$dir<br>";
}
?>
La syntaxe d'un lien HTML est la suivante:
Posté : 20 nov. 2005, 20:38
par phpdog
Merci beaucoup rami
Le liens affiche une page introuvable chez moi.
Quand a se script:
<?php
$directories = glob("*",GLOB_ONLYDIR);
foreach ($directoriesas $dir) {
echo "$dir<br>";
}
?>
Il affiche l'erreur suivante:
Posté : 20 nov. 2005, 20:39
par jeff
salut tu pourrais quand meme chercher un peu
<?php
$directories = glob("*",GLOB_ONLYDIR);
foreach ($directories as $dir) {
echo "$dir<br>";
}
?>

Posté : 20 nov. 2005, 20:48
par phpdog
OK, merci
Pour les liens j'ai esayer ceci:
<?php
$directories = glob("*",GLOB_ONLYDIR);
foreach ($directories as $dir) {
echo "<a href="$dir" > Lien </a><br>";
}
?>
Mais sa renvoi une erreur.
Posté : 20 nov. 2005, 20:49
par rami
Quelle erreur?
edit: ah ouais,c 'est normal tu utilises des guillemets pas comme il faut ligne 4:
<?php
$directories = glob("*",GLOB_ONLYDIR);
foreach ($directories as $dir)
{
echo '<a href="$dir" > Lien </a><br>';
}
?>
Posté : 20 nov. 2005, 20:54
par phpdog
Merci encore
Le script n'affiche plus les noms des fichier mes que le mots Liens, et quand on clique sur un lien page introuvable.
Posté : 20 nov. 2005, 21:12
par rami
Au temps pour moi:
<?php
$directories = glob("*",GLOB_ONLYDIR);
foreach ($directories as $dir)
{
echo '<a href="'.$dir.'" > Lien </a><br>';
}
?>
Il y avait la variable $dir comprise entre des simple quotes. Elee n'était donc pas interpétée. Pour le reste, je te laisse chercher car j'ai l'impression que tu ne cherches pas à faire des choses. Tu demandes tout
