警告:打开目录:未实现

时间:2012-08-18 11:02:26

标签: php

我是PHP的新手,我正在尝试构建一个脚本。当我加载脚本时,我收到以下错误:

警告:opendir(http://www.hetweerinboskamp.nl/voorpagina/movies)[function.opendir]:无法打开目录:未实现

<?php
    $hal ='';
    $dir ='http://www.hetweerinboskamp.nl/voorpagina/movies';
    if ($handle = opendir($dir)) {
        // Loop the folders
        while (false !== ($file = readdir($handle))) {
            if(strlen($file) > 4) {
                $rawd = parsename($file);
                $hal.= 'new Date('.substr($rawd,0,4).', '.substr($rawd,4,2).'-1, '.substr($rawd,6,2).'),';
                 //$hal.= $rawd.',';
             }

            closedir($handle);
         }

5 个答案:

答案 0 :(得分:6)

opendir()用于打开本地目录,因为PHP 5.0.0位于ftp目录下。

如果你的PHP代码在www.hetweerinboskamp.nl上运行,那么/voorpagina/movies实际上是一个本地目录,你可以这样做:

$dir ='<wwwroot>/voorpagina/movies';
if ($handle = opendir($dir)) {

其中wwwroot是php代码所见的文件系统的根目录。

如果您尝试从其他网站下载内容,请尝试例如file_get_contents()。请注意,如果远程服务器列出目录的内容,则列表实际上是服务器即时生成的HTML页面。您可能会发现自己需要解析该页面。更好的方法是检查服务器是否提供某种API,以便以标准化形式发回内容,例如,以JSON格式。

答案 1 :(得分:4)

opendir对文件系统上的目录进行操作,而不是HTTP URI。

虽然某些HTTP URI返回目录列表(您使用的那个没有,但它是404错误),这些列表是由Web服务器生成的HTML文档,而不是实际目录。

答案 2 :(得分:1)

手动声明此功能适用于网址,但似乎没有。

使用本地路径(相对路径或绝对路径)。例如,'./voorpagina/movies'。这之前解决了类似的问题。我希望这会有所帮助。

答案 3 :(得分:0)

大多数远程服务器都没有发回目录列表,因为这样的opendir无法理解你尝试做什么,所以它无法工作。

你需要使用像ftp这样的东西,这是一个例子:http://php.net/manual/en/ftp.examples-basic.php或cURL

答案 4 :(得分:0)

我的问题是我的路径错误(http:// ....)。现在我使用相对路径(来自我的网站空间的根目录),一切正常。