我还是PHP的新手,我正在尝试将文件夹中的文件回显到表格行。我可以成功回显服务器上的文件,但我尝试的文件类型的所有内容都不起作用。到目前为止,我的代码看起来像这样:
<?PHP
$folder = "uploads/";
$handle = opendir($folder);
# Making an array containing the files in the current directory:
while ($file = readdir($handle))
{
$files[] = $file;
}
closedir($handle);
#echo the files
$path_parts = pathinfo($file);
foreach ($files as $file) {
echo "
<tr><td><a href=$folder$file>$file</a></td><td>$path_parts['extension']</td><td>date</td> </tr>"
;
}
?>
随着它的设置,它给我一个服务器错误。当我取出路径部分/路径信息代码时它工作正常,但当然它不会回显文件类型。任何有关这方面的帮助将非常感激,如果有人知道实现文件上传日期的最佳方式,那将是很好的。顺便说一句,使用uploadifive作为上传器,如果这有任何区别。
答案 0 :(得分:1)
如前所述,$path_parts
变量赋值需要在foreach循环中。要保存一些代码行,您应该查看scandir作为读取文件夹中文件的while循环的替代。
以下是您的代码在更改后的效果:
<?PHP
$folder = "uploads/";
# Making an array containing the files in the current directory:
$files = scandir($folder);
#echo the files
foreach ($files as $file) {
$path_parts = pathinfo($folder.$file);
echo "<tr><td><a href={$folder}{$file}>{$file}</a></td><td>{$path_parts['extension']}</td><td>date</td></tr>";
}
答案 1 :(得分:0)
我对您的代码做了一些修改:
<?php
$folder = "uploads/";
$handle = opendir($folder);
# Making an array containing the files in the current directory:
while ($file = readdir($handle))
{
$files[] = $file;
}
closedir($handle);
foreach ($files as $file)
{
#echo the files
$path_parts = pathinfo($file);
echo "<tr><td><a href='" . $folder . $file . "'>" .
$file . "</a></td><td>" . $path_parts['extension'] .
"</td><td>date</td></tr>";
}
大多数情况下,$path_parts = pathinfo($file);
必须在循环中。
否则,您只在循环的最后$file
上执行pathinfo。