1

私は小さなスクリプトに取り組んでおり、ディレクトリの内容を一覧表示してハイパーリンクにし、それらのハイパーリンクを編集して見栄えを良くし(つまり、醜い超長いパス名を表示しない)、エコーされるファイルの数を制限したいと考えています。ブラウザに戻ります。また、エコーバックされた最新のファイルのみが必要です。

私はこれを使うことを考えていました:

<?php
 $path = "/full/path/to/files";
 if ($handle = opendir($path)) {
   while (false !== ($file = readdir($handle)))
          {
                  if ($file != "." && $file != "..")
          {
                          $files .= '<a href="'.$file.'">'.$file.'</a>';
                  }
           }
  closedir($handle);
  }
?>

またはこれ:

<?php
$sub = ($_GET['dir']);
$path = 'enter/your/directory/here/';
$path = $path . "$sub";
$dh = opendir($path);
$i=1;
while (($file = readdir($dh)) !== false) {
        if($file != "." && $file != "..") {
                        if (substr($file, -4, -3) =="."){
                        echo "$i. $file <br />";
                        }else{                  
                echo "$i. <a href='?dir=$sub/$file'>$file</a><br />";
                  }
                $i++;
        }
}
closedir($dh);
?>

しかし、私はこのようなファイルをリストしたくありません:

C:/example/example2/Hello.pdf

変数を編集したい。それは可能ですか?「こんにちは」のように簡単なことを言うために。

リストされるファイルの量も制限したい。例:最初の5つのファイル、または最後の5つのファイルのみをリストします。そのための関数またはある種のパラメーターはありますか?

私はどんな助けにも感謝するか、正しい方向に押し進めます。ありがとう

4

1 に答える 1

1

私は電話をしているので、コード例を提供するのは難しいでしょう。そのキーの値として絶対パスを使用して、ファイル名を配列に格納し、ディレクトリを反復処理してみませんか?

編集:basenameを使用して、これを行うのに役立てることができます。

于 2012-10-15T18:42:28.977 に答える