Comment faire un script de lecture de fichier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Comment faire un script de lecture de fichier

par fab » 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é :)

par Cyrano » 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:

par Invité » 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 @+

par fab » 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";
}

?> 

par Invité » 07 mai 2005, 23:49

Merci :lol:

par Cyrano » 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.

par wolverine72 » 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. :)

par wolverine 72 » 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?)

par Cyrano » 06 mai 2005, 15:03

C'est toujours faisable, mais selon la complexité du site, ça risque de devenir très vite une usine à gaz.

par wolverine » 06 mai 2005, 14:58

euh sinon sans base de donnée c'est fesable?

par seayoung » 06 mai 2005, 14:23

en parlant de bouquin je te conseille les O'reilly qui sont vraiment bien fait et tres adapté.
toutefois en fouillant aussi sur le net tu trouve beaucoup de choses tres intéressant.
notamment les posts de Cyrano pour ne citer que lui 8) qui sont assez pertinant dans pas mal de domaine :P

par Cyrano » 06 mai 2005, 14:11

Sinon, il y a aussi phpdebutant avec un certain nombre de tutos pratiques pour débutant. Avec ça plus le siteduzero, tu peux arriver à t'en sortir, mais cois-en ma vieille expérience : achète un bouquin ou deux. Si tu veux apprendre, tu trouveras beaucoup plus de choses dans un livre que sur un forum. Le forum peut par la suite t'aider à progresser quand tu tombe sur un point qui te paraît obscur.

par seayoung » 06 mai 2005, 13:59

<b>Wolverine</b>
je sais pas si tu as vue toute la partie sql sur le site du zero mais si tu l as lu relies la car tu as beaucoup de notion importante dedans pour commencer a cerner un pe plus le langage SQL et une fois que tu auras une idée un pe plus précise sur tes requettes ainsi que l'architecture de ton site tu pourras poser de maniere plus "explicite"
bon courage

par wolverine » 06 mai 2005, 13:55

oki... :(

par Cyrano » 06 mai 2005, 13:54

Wow, relax, ça veut dire qu'il faudrait tout te montrer et t'enseigner le SQL. Le forum n'est pas fait pour ça. On peut t'aider pour des problèmes ponctuels, mais PHPFrance n'est pas une école de formation en programmation. Achète un bouquin sur le SQL et apprends ce qu'est une base de données, comment créer une base, comment créer des tables, comment concevoir une base de donnée et les rudiments sur les requêtes SQL.

Il y a des bouquins complets sur le sujet, on peut pas te montrer ça ici en quelques messages, ce n'est pas possible.

Ta solution alternative, c'est la manipulation de fichiers textes, mais si c'est pour un site très actif au contenu changeant, il faut que tu passes par la phase "apprentissage des bases de données.