0

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

你能确定我哪里出错了吗?

<?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);
                }
              }
          }
4

2 回答 2

0

该函数myfolders()未定义,第 17 行中的语句存在语法错误。你可能想要scandir()这个。

我会把它写成(tested)

<?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);
}

}

我希望这有帮助。

于 2013-06-28T16:05:08.427 回答
0

你在这里有一个空格:$ folder最后还有一个额外的 }。应该是:$folder。尝试改变它,让我知道它是否有帮助。

于 2013-06-28T15:54:25.963 回答