PHP 隐藏 SCANDIR 的子文件夹

PHP Hide sub-folders from SCANDIR

我正在使用 jQuery FileTree plugin。 php 连接器使用 scandir 获取文件夹的内容。上传图片后,我的上传脚本会创建一个 "thumbs" 文件夹,然后制作图片的缩略图版本,并将其存储在那里。

用户将对每个图像文件夹中的文件进行操作,但我真的不希望他们看到每个图像文件夹中的 "thumbs" 文件夹。我可以将 thumbs 文件夹移动到其他地方,但这将是一项艰巨的任务。

有没有办法让我的上传脚本创建一个隐藏文件夹,让 scandir 看不到 "thumbs" 文件夹?

$files  = scandir($postDir);
$returnDir  = substr($postDir, strlen($root));

制作 jQueryFileTree's php connector 的自定义版本,在第 55 行左右将您的排除项添加到过滤中:

if( file_exists($postDir . $file) && $file != '.' && $file != '..' && $file != 'thumbs') {

然后在 JS 端创建树时,通过将其名称作为 script 参数传递给 fileTree 函数,使用该脚本而不是标准连接器。

(取决于您的目录可以处于什么状态,例如您是否总是有一个 "thumb" 文件夹等,您可能还需要调整 if( count($files) > 2 ),但这应该为您提供基本原则 - 只需创建您自己的连接器并根据需要对其进行自定义。)