这是我在/ pgen / admin
中放入的代码部分<h1><b>List of saved text files:</b></h1>
<?php
$directory = "/pgen/saves/";
$phpfiles = glob($directory . "*.html");
$id = 1;
foreach ($phpfiles as $phpfile) {
$date = " last modified/date created: " . date ("F d Y H:i:s.", filemtime($phpfile));
echo $id.". <a href=$phpfile>".basename($phpfile)."</a>" .$date."<br>";
$id ++;
}
?>
$directory
变量应该是网页的根加/ pgen / saves /。
我尝试过使用$_SERVER["DOCUMENT_ROOT"]."/pgen/saves"
。
此外,如果我使用ftp客户端浏览,则显示此页面位于/public_html/pgen/admin/
,因为我正在使用第三方托管服务。
代码应该列出/pgen/saves
文件夹中的文件,但代码本身位于/pgen/admin
文件夹中。我到处搜索,因为我是php的新手,我不知道该怎么做。
答案 0 :(得分:0)
最好为您的工作添加一些错误检查/验证。在数组上使用foreach()方法时,您必须意识到它相信您将其传递给一个合法的数组。如果传递的值不是数组,它将尝试使用它并失败。
$directory = "/pgen/saves/";
$phpfiles = glob($directory . "*.html");
$id = 1;
// Error if no files are found
if (!is_array($phpfiles) && count($phpfiles) <= 0) {
die('no files found');
}
// Otherwise, continue on
foreach ($phpfiles as $phpfile) {
$date = " last modified/date created: " . date ("F d Y H:i:s.", filemtime($phpfile));
echo $id.". <a href=$phpfile>".basename($phpfile)."</a>" .$date."<br>";
$id ++;
}