【问题标题】:Able to list folders, but unable to list files using PHP能够列出文件夹,但无法使用 PHP 列出文件
【发布时间】:2013-06-28 15:48:03
【问题描述】:

我很想在我的文件夹目录中显示文件。我可以查看该文件夹,但不能查看该文件夹中的文件。

你能指出我哪里出错了吗?

<?php

             $username=$_SESSION['username' ];
              if(isset($_GET['directory'])){
                  if(strcmp($_GET['directory'],' userFolders/')==0){
                        $dir='userFolders/'.$username. '/';
                  }else{
                         $dir=$_GET['directory'];
                  }

                $myfolders=myfolders($dir);
                if(empty($myfolders)){
                    echo '<tr><td> <b> Your folder is empty </b></td><td></td><td></td></ tr>';
                }else{
                    foreach($myfolders as $folder){
                                     echo '<tr>
                                                <td align="left"><a target=_blank href="honey.php?directory=',$ folder,'"> ',$folder,'</a></td>
                                                <td align="center"> --- </td>
                                                <td align="center"> <input type="image" src="delete.png" width="25" height="25"/></td>
                                          </tr>';
                    }
                        $dir_handle = @opendir($dir) or die("Unable to open $dir");
                        while ($file = readdir($dir_handle)) {

                                if($file == "." || $file == "..")
                                continue;

                                     echo '<tr>
                                                <td align="left"><a target="_blank" href="'.$file.'"> ',$file,'</a></td>
                                                <td align="center"> --- </td>
                                                <td align="center"> <input type="image" src="delete.png" width="25" height="25"/></td>
                                          </tr>';
                        }
                        closedir($dir_handle);
                }
              }
          }

【问题讨论】:

  • 尝试时究竟会发生什么?它什么都不做吗?产生错误?

标签: php file directory


【解决方案1】:

myfolders() 函数未定义,第 17 行的语句有语法错误。为此,您可能需要scandir()

我会把它写成(已测试)

<?php
$username=$_SESSION['username' ];

if(isset($_GET['directory']))
{
    if(strcmp($_GET['directory'],' userFolders/')==0)
    {
    $dir='userFolders/'.$username. '/';
    }

else
{
$dir=$_GET['directory'];
}

$myfolders=scandir($dir);

if(empty($myfolders))
{
echo '<tr><td> <b> Your folder is empty </b></td><td></td><td></td></ tr>';
}
else
{
    foreach($myfolders as $folder)
    {
    echo '<tr>
    <td align="left"><a target=_blank href="honey.php?directory=$folder"> $folder</a></td>
    <td align="center"> --- </td>
    <td align="center"> <input type="image" src="delete.png" width="25" height="25"/></td>
    </tr>';
    }

    $dir_handle = @opendir($dir) or die("Unable to open $dir");

    while ($file = readdir($dir_handle)) 
    {
    if($file == "." || $file == "..")
    continue;
    echo '<tr>
    <td align="left"><a target="_blank" href="'.$file.'"> ',$file,'</a></td>
    <td align="center"> --- </td>
    <td align="center"> <input type="image" src="delete.png" width="25" height="25"/></td>
    </tr>';
    }
    closedir($dir_handle);
}

}

我希望这会有所帮助。

【讨论】:

  • 我试过了,它打开了一个新的浏览器,但得到一个错误 404 object not found!。我在文件夹中有一个 jpg 图像。如何查看我的代码文件夹中的图像?
【解决方案2】:

你在这里有一个空格:$ folder 和一个额外的 } 在最后。应该是:$folder。尝试更改此设置,如果有帮助,请告诉我。

【讨论】:

    猜你喜欢
    • 2015-12-24
    • 2018-08-06
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 2020-10-10
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    相关资源
    最近更新 更多