php显示文件信息,如果文件存在则下载链接 - 如何调整多个文件

时间:2012-07-10 12:27:14

标签: php file list directory

我有一块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 } ?>

1 个答案:

答案 0 :(得分: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>';
    }
?>