【问题标题】:PHP readdir() and opendir() working locally but not working on live serverPHP readdir() 和 opendir() 在本地工作,但不能在实时服务器上工作
【发布时间】:2013-12-05 14:43:03
【问题描述】:

我遇到了错误,所以改变了

opendir(http://test.myserv.com/Optfolder/upload/upload) 

[function.opendir]: failed to open dir: not implemented 

所以改为file_get_contents($dir)

但是接下来我得到了这个错误

readdir(): supplied argument is not a valid Directory resource 

我该怎么办?

我使用下面的代码来读取文件夹图像是否有 opendir 和 readdir 的任何选项,以便将它们用于我的目的?

在 $dir 我得到像 http://testserv.com/optfolder/upload 这样的完整路径

$dir = opendir($dir);

    while ($file = readdir($dir)) { 
       if (preg_match("/.png/",$file) || preg_match("/.jpg/",$file) || preg_match("/.gif/",$file) ) { 
       $string[] = $file;
       }
    }

【问题讨论】:

标签: php directory localhost readdir opendir


【解决方案1】:

opendir() 不能用于 URL,因为它会打开相对于文件系统的目录。这也是Warning: open dir: not implemented 的潜在副本。

readdir() 在定位目录方面也与opendir() 完全相同。

请查看文档http://php.net/manual/en/function.opendir.php 以完全理解它。

【讨论】:

  • 我不关注,要打开上传文件夹,您需要使用您的网络根目录opendir("{$webroot}/Optfolder/upload/upload"); 或类似的东西。
  • 嗨,我得到了类似 opendir("testserv.server.com/Optfolder/upload/upload") 的路径,但仍然出现相同的错误。我应该使用什么来代替 $webroot?
  • 您仍在使用 HTTP 指令。您只能使用目录路径。
  • 对不起,我不是指 webroot,我指的是文件夹的完整文件系统路径,或相对文件系统路径。因此,如果该 PHP 文件位于您的基本目录中,那么您应该可以使用 "Optfolder/upload/upload"
【解决方案2】:

您不能在 HTTP 网址上使用 opendir()。您需要指定一个相对目录路径。见opendir

【讨论】:

    【解决方案3】:

    试试这个:

    file_get_contents('http://testserv.com/optfolder/upload');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-12
      • 1970-01-01
      • 2019-11-08
      相关资源
      最近更新 更多