Comment faire un script de lecture de fichier

wolverine 72
Invité n'ayant pas de compte PHPfrance

07 mai 2005, 20:28

Salut, lol c'est pas grave tu sais...je préfaire savoir le faire même si sa deviens un usine a gas. Je pige pas pk vous ne voulez pas me donner un script... :(

Merci @++

PS: je peux plus m'apeller wolverine!?!?!?!? Bizard lol (je viens de formater ca change un truque?)

wolverine72
Invité n'ayant pas de compte PHPfrance

07 mai 2005, 23:13

Bonjour, alors voila j'ai trouver cela:

<? $rep = ".../galerie";
$dir = opendir($rep);



function dd($date) {
return date("d/m/Y H:i:s",$date);
}

while ($f = readdir($dir))
{
if ($f !="." && $f != "..")
{
if(is_dir($rep."/".$f)) {
echo "$f";
echo "<br>";
}
}
}
closedir($dir); ?>

ca me permet de lister tout les dossiers qui se trouve dans le dossier "galerie" dans cette exemple.

Alors maintenant la dernière chose à faire c'est que quand il affiche les nom des dossiers, il face en faite un lien vers le dossier (dans le dossier se trouvera un fichier index et donc si on va sur chine, le index.php de "chine" sera reconut et on vera les photos de la chine)

Es ce que j'ai bon...

Donc le dernier service que je vous demande c'est de completer se script afin qu'il face des liens automatiquement...

Merci @ vous. :)

Mammouth du PHP | 19672 Messages

07 mai 2005, 23:47

wolverine, tu fais un peu dur là. Une demande pareille pourrait nous faire croire que tu ne sais pas faire un lien en html. Plus grave par contre, ça signifie que tu ne comprends pas un mot du code que tu vois.

Voilà ton code revu et corrigé :
<?php
$rep = "./galerie";
$dir = opendir($rep);

function dd($date) {
    return date("d/m/Y H:i:s",$date);
}

while ($f = readdir($dir))
{
    if ($f !="." && $f != "..")
    {
        if(is_dir($rep."/".$f)) {
            echo "<a href=\"".$rep."/".$f."\">".$f."</a><br>\n";
        }
    }
}
closedir($dir);
?> 
Deux choses: quand tu mets du code, vérifie que les bbCodes sont activés et utilises les bouton [ PHP ] au dessus du formulaire de message.
Ensuite, essaye de faire un effort de comprehension. Si on te donne du code tout fait que tu ne comprends pas du tout, ça ne sert à rien et on perd du temps. Si tu veux apprendre le PHP, commence par là, va par exemple sur le site PHPdebutant et fais tous les tutoriels l'un après l'autre. Il y en a pour un moment, ça se fera pas en deux jours, mais tu apprendras au fur et à mesure.
Te filer du code tout prêt, ce n'est certainement pas te rendre service.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

07 mai 2005, 23:49

Merci :lol:

ViPHP
fab
ViPHP | 2657 Messages

07 mai 2005, 23:50

voici un script de moi
<?php

$base = "/var/www";
$rep = $_GET["rep"] ? $_GET["rep"] : "/";
$path = realpath($base . $rep);

if (!is_dir($path)) {
  $rep = "/";
  $path = realpath($base . $rep);
}

$rep = substr($path, strlen($base) + 1);

if (substr($rep, 1) != "/") { $rep = "/" . $rep; }
if (substr($rep, -1) != "/") { $rep = $rep . "/"; }

if (!stristr($path, $base)) {
  header("Location: " . $_SERVER["PHP_SELF"]);
  exit();
}

$list = array();
$folders = array();
$files = array();

$folder = opendir($path);

while ($name = readdir($folder)) {
  if (($name != "..") && ($name{0} == ".")) { continue; }
  array_push($list, $name);
}

closedir($folder);

for ($idx = 0; $idx < count($list); $idx++) {
  $absolute = realpath($path . "/" . $list[$idx]);

  $type = filetype($absolute);

  if ($type == "dir") {
    array_push($folders, $list[$idx]);
  } elseif ($type == "file") {
    array_push($files, $list[$idx]);
  }
}

sort($folders);
sort($files);

for ($idx = 0; $idx < count($folders); $idx++) {
  $name = $folders[$idx];

  echo "<a href='$_SERVER[PHP_SELF]?rep=$rep$name'>$name</a><br>\n";
}

for ($idx = 0; $idx < count($files); $idx++) {
  $name = $files[$idx];
  echo "file: $name<br>\n";
}

?> 

Invité
Invité n'ayant pas de compte PHPfrance

07 mai 2005, 23:55

Enfait ta raison, je connais pas trop le php et c'est pour cela que je ne savais pas que c'étais cette balise....en + si je saais tout je ne sarais pas la a t'embeter :D

Encore merci et @+

Mammouth du PHP | 19672 Messages

07 mai 2005, 23:59

lol fab, méchant, tu vas noyer ce pauvre débutant dans un océan, que dis-je, un abîme de perplexité devant ces montagnes de signes cabbalistiques. :langue:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
fab
ViPHP | 2657 Messages

08 mai 2005, 00:09

ça reste simpe :p , j'ai hésite a mettre la version suivante de ce meme code avec une dose de récursivité :)