我已经尝试了在此阅读的所有解决方案,但似乎无法使其正常工作。
我试图在此文件中调用scandir:https : //www.example.com/cms/uploader/index.php
列出此文件夹中的所有文件和目录:https : //www.example.com/uploads/
我不想对example.com部分进行硬编码,因为这会因站点而异。我尝试了以下多种组合:dirname(FILE),DIR,$ _SERVER ['SERVER_NAME']和$ _SERVER ['REQUEST_URI']等。我要么得到“无法打开dir,但未在...中实现”错误或完全不显示任何内容。这是我正在使用的代码:
$directory = __DIR__ . '/../../uploads';
$filelist = "";
$dircont = scandir($directory);
foreach($dircont AS $item)
if(is_file($item) && $item[0]!='.')
$filelist .= '<a href="'.$item.'">'.$item.'</a>'."<br />\n";
echo $filelist;
正确的方法是什么?
$ directory变量设置错误。如果您想向上两个目录,请使用dirname(),如下所示:
$directory = dirname(__DIR__,2) . '/uploads';
$filelist = "";
$dircont = scandir($directory);
foreach($dircont AS $item) {
if(is_file($item) && $item[0]!='.')
$filelist .= '<a href="'.$item.'">'.$item.'</a>'."<br />\n";
}
echo $filelist;
您可以阅读有关scandir的更多信息,如果启用allow_url_fopen,则有一节介绍如何将其与url一起使用,但这主要在本地/开发环境中进行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句