我有一块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> <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 } ?>
答案 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>';
}
?>