我有一个根据特定条件显示图像的脚本。当不满足任何条件时,我想随机显示一张标准(备份)图像。这些其他图像位于远程服务器上。我读到您无法读取远程服务器上的目录,这是有道理的。
我最好的选择是将文件放入远程服务器的图像目录中,该目录输出所有图像文件名,以便我可以使用其他服务器解析它?有没有更简单的方法?
我不想使用 FTP ( http://php.net/manual/en/book.ftp.php )。
基本上,我可以选择哪些选项来获取该文件夹中的图像名称?
谢谢, 瑞安
更新:
@ mario's answer重量轻,工作起来就像一个魅力。这正是我想要的解决方案,但经过更多思考,并读到即使@mario也会采取不同的做法,我决定选择@ bensiu's answer ,因为对我来说,控制和安全比便利更重要。使用@mario的方法,很难知道您获得的数据是否良好(缺乏控制)并且您正在暴露您的目录/一些服务器信息(安全)。 @bensiu 的建议涉及第二个文件(不方便),但提供了我最终决定采用的控制和安全性!
谢谢两位!
-瑞安
最佳答案
我更喜欢像 @bensiu 指出的那样精确且专用的处理程序脚本。
但另一种方法是读出目录列表。一个简单的 Apache 生成的 mod_index 列表就足够了:
$html = file_get_contents("http://example.com/images/");
preg_match_all('/<a href="([-\w\d.]+\.(jpeg|png|gif))"/', $html, $uu);
$files = $uu[1];
关于php - 读取远程目录的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4902985/