我是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);
}
答案 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:// ....)。现在我使用相对路径(来自我的网站空间的根目录),一切正常。