网站root不是php安装root

时间:2013-12-30 18:15:06

标签: php

这是我在/ 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的新手,我不知道该怎么做。

1 个答案:

答案 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 ++;
}