<?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行**
为什么这不起作用的任何想法?
答案 0 :(得分:2)
为什么这不起作用的任何想法?
因为您使用文件系统功能来访问网络网址
所以,我做到了
$_SERVER['DOCUMENT_ROOT'].'/projects/'.basename($_GET['project']).'/'
basename()在这里非常重要,不要让任何人浏览磁盘上的任何目录