0

指定したフォルダーにファイルがある場合、ファイル名、作成日を表示し、ダウンロード ボタンを表示する php があります。フォルダーが空の場合は何も表示されません。これは非常にうまく機能しますが、フォルダーに複数のファイルがある場合、すべてのファイル名がまとめられます。必要なのは、ファイルごとに個別の情報が表示されることです。

問題を理解するのに役立つように、問題とコードを示す画像を次に示します。私は自分で非常に遠くまで行きましたが、頭の上にあるので、問題を修正する簡単な方法がわかりません。私はこれにまったく慣れていないので、コードは非常にぎこちなく奇妙に見えるかもしれませんが、ブラウザでは視覚的に正しく見えます。本当にありがとうございました。

ここに問題の画像があります: http://i46.tinypic.com/m79cvs.png

    <?php if (!empty($thelist)) { ?>
<p class="style12"><u>Fix</u></p>
<p class="style12"><?=$thelist?><?php echo " - " ?> <?php $filename = '../../customers/client1/client1.fix.exe';
if (file_exists($filename)) {
    echo "" . date ("m/d/Y", filemtime($filename));
}
?> <?php echo " - <a href='download.php?f=client1/client1.fix.exe'><b>Download</b></a>&nbsp;&nbsp;&nbsp;<a     href='download.php?f=client1/client1.fix.exe'>
<img src='../css/images/dlico.png' alt='download' width='35' height='32'     align='absmiddle' /></a>" ?>
</p>
<?php } ?>
4

1 に答える 1

0

リスト ( $thelist) にはファイルが含まれていますね。$thelistではなく、ハードコードされた文字列である で作業してい$filenameます。なんで?現在、出力<?=$thelist?>していて、ファイル名から連結された文字列のように見えます。ファイルの配列のようなものにすることをお勧めし$thelistます。次に、ファイルを繰り返し処理し、エントリごとに html を動的に出力できます。

<?php
    // define your directory here
    $directory = xy; 

    // fetches all executable files in that directory and loop over each
    foreach(glob($directory.'/*.exe') as $file) { 
        // output each name and mtime
        echo $file . '-' . date ("m/d/Y", filemtime($file));
        // or you might also build links dynamically
        // $directory needs to be added here
        echo '<a href="'.$file.'">'.$file.' - Size: '.filesize($file).'</a>';
    }
?>
于 2012-07-10T12:41:33.707 に答える