如何打开服务器上另一个目录中的imgs文件()

我在Stackoverflow, PHP和WP主题制作方面还很陌生, 并且面临以下问题:我正在博客首页(位于主题目录中的home.php中)上开发图像轮播。检索不同目录(/ wordpress / wp-content / uploads / HP / carousel)上的图像, 因为出于最终用户的考虑, 我使用的是Max Foundry的Wordpress媒体库文件夹(https://it.wordpress.org/ plugins / media-library-plus /)为轮播创建特定的文件夹, 以简化最终用户上传轮播的过程。
我尝试了PHP函数opendir()或scandir()以及glob(), 如果目录位于主题目录的同一目录下, 则可以正常工作, 但是我的客户端应该使用FTP和Filezilla之类的东西, 但我不想让他玩可能会破坏我工作的工具。因此, 我在网上寻找了另一种解决方案:我发现我应该使用ABSPATH或idk之类的东西, 根本无法使用, 它无法将字符串识别为路径。我还尝试了WP函数get_site_url(), 该函数在页面的另一部分中也用于类似目的, 但是在这里它不起作用。

$dir = get_site_url().'/wp-content/uploads/HP/carousel/'; if (is_dir($dir)) //testing if it's a directory printf($dir); else { echo 'not a directory'; }

使用ABSPATH的结果相同。然后很奇怪, 如果我尝试使用opendir打开目录, 则会返回错误。
我仍在学习, 找不到很好的参考资料来解释此函数和全局变量的工作原理, 所以我想我缺少了一些东西。我希望我的代码打开另一个本地目录, 因为它位于同一服务器上的另一个目录中, 特别是在其中构建主题的目录中。真的感谢你的宝贵时间和最终的帮助。
编辑:谢谢@cptnk和@Uri Chachick, 我不知道函数wp_upload_dir(), 现在将路径识别为目录, 但是如果我尝试使用opendir(), scandir()或glob读取其内容()我要放入的数组-我猜想-尝试打印内容时结果为空。我以为问题来自于同时使用\和/的字符串格式, 所以我将所有反斜杠都变成了正斜杠, 但还是一无所获, 我无法检索目录内的图像(现在可以正确访问该图像了)。如何获得图像?
#1【如何打开服务器上另一个目录中的imgs文件()】你可以像这样使用wp_upload_dir():
$upload_dir = wp_upload_dir(); $dir = $upload_dir['basedir'].'/HP/carousel/'; if(is_dir($dir))//testing if it's a directory printf($dir); else { echo 'not a directory'; }

#2我个人从未使用过媒体库+, 但据我了解, 它仅增强了wordpress后端功能, 并且你仍以通常的方式与附件进行交互。
这意味着你仍然可以使用https://codex.wordpress.org/Function_Reference/wp_get_attachment_url之类的函数, 并在查询附件URL后对其进行检索。
如果你的代码要求你找到实际路径, 则也可以使用https://developer.wordpress.org/reference/functions/wp_upload_dir/
编辑:我想我现在知道了你实际要实现的目标或问题所在。我认为你对URL和PATH是个误解。
URL(统一资源定位符)不代表你的文件系统, 它用于通过Web服务器(nginx, apache … )提供资源(html, css, js, img … )。
PATH表示计算机上的当前位置(C:\ Users \ you \ pictures, / home / pictures … )
服务器通常只知道路径以及如何将它们” 映射” 在一起。作为客户端, 你永远不能看到文件路径, 而只能看到URL。这就是为什么存在诸如wp_upload_dir和wp_get_attachment_url之类的wordpress方法的原因, 因此在呈现HTML之前你不必手动将PATH转换为URL。
现在你可能想要从插件为你创建的文件夹中检索图像(堆栈溢出答案:如何在Wordpress Uploads目录中获取所有图像, 然后显示所有图像?)
我个人不喜欢这种方法, 原因有很多, 大多数人可能会创建自定义帖子类型或使用具有选项页功能(https://www.advancedcustomfields.com/add-ons/options-page/)的插件(如ACF)来持久化信息。

    推荐阅读