我在使用OpenDir时遇到URL文件访问错误。为什么?

时间:2011-09-01 20:34:07

标签: php opendir

<?php

   $pathname = "http://myserver.com/projects/" . $_GET['project'] . "/"; 

   if ($handle = opendir($pathname)) {

        while (false !== ($file = readdir($handle))) {

          if ($file != "." && $file != ".." && (strpos($file, '.jpg',1))    ) {

            $photo= $pathname . $file;
            echo "<image src=\"" . $file . "\">";

          }
        }
        closedir($handle);
    } 
 ?>

有我的代码。我要做的就是传递一个像“project = Flowers”这样的URL参数,并让PHP打开一个名为/ flowers /的文件夹,并返回其中的所有.jpg图像。

然而,当我运行我的代码时,我收到了这些错误:

  

**警告:opendir()[function.opendir]:禁用URL文件访问   在服务器配置中   /nfs/c01/h03/mnt/73283/domains/myserver.com/test.php on   第3行

     

警告:opendir(http://myserver.com/projects/flowers/)   [function.opendir]:无法打开dir:没有合适的包装器   在发现   /nfs/c05/h02/mnt/76383/domains/kulthouse.com/html/staging/work.php on   第3行**

为什么这不起作用的任何想法?

1 个答案:

答案 0 :(得分:2)

  

为什么这不起作用的任何想法?

因为您使用文件系统功能来访问网络网址

所以,我做到了

$_SERVER['DOCUMENT_ROOT'].'/projects/'.basename($_GET['project']).'/'

basename()在这里非常重要,不要让任何人浏览磁盘上的任何目录