2

PHP現象のごく一部しか得られないので、Webを検索して次のスクリプトを作成できたことを非常に嬉しく思います。ご覧のとおり、これは私が構築しているWebサイトの「アーカイブ」フォルダーにあるファイルを示しています。私の学校の新聞用です。古い論文はこのフォルダにアップロードされます。問題は、現時点で注文が非常に乱雑であるということです。PHPがsort()で物事をソートできることは知っていますが、この場合の方法がわかりません。誰かがそれを修正する方法を説明できますか?

もう1つは、拡張機能を非表示にすることです。まだ見つかりませんでしたが、その可能性はありますか?

あなたが少なくとも最初のことで私を助けることができればあなたは大きな助けになるでしょう:)

<?php
    if ($handle = opendir(archive)) {
        $ignore_files = array('.', '..', '.htaccess', '.htpasswd', 'index.php');
        while (false !== ($file = readdir($handle)))
        {
            if (!in_array($file, $ignore_files))
            {
                $thelist .= '<a href="/archive/'.$file.'">'.$file.'</a>'.'<br>';
            }
        }
        closedir($handle);
    }
?>
<p><?=$thelist?></p>
4

1 に答える 1

1

ディレクトリからファイルのリストを取得し(そしてそのリストをソートし)、拡張子も削除したい場合は、次のようにします。

<?php
// $archive variabe assumed to point to '/archive' folder
$ignore_files = array('.', '..', '.htaccess', '.htpasswd', 'index.php');

// into array $files1 will be every file inside $archive:
$files1 = scandir($archive);
sort($files1);

foreach ($files1 as $file) {
    if (!in_array($file, $ignore_files)) {
        $fileParts = pathinfo($file);
        $thelist .= '<a href="/archive/'.$file.'">'.$fileParts['filename'].'</a>'.'<br>';
    }
}
?>
<p><?=$thelist?></p>
于 2011-11-14T16:50:39.033 に答える