我有两台服务器。一份用于文件,一份用于网站。
我想出了如何将文件上传到该服务器,但现在我需要在网站上显示缩略图。
有没有办法通过文件服务器上的文件夹 /files 并使用 PHP 在网站上显示这些文件的列表?
我现在搜索了一段时间,但找不到答案。我尝试使用 scanddir([URL]) 但这没有用。
我很尴尬这么说,但我在另一篇文章中找到了答案:
function get_text($filename) {
$fp_load = fopen("$filename", "rb");
if ( $fp_load ) {
while ( !feof($fp_load) ) {
$content .= fgets($fp_load, 8192);
}
fclose($fp_load);
return $content;
}
}
$matches = array();
preg_match_all("/(a href\=\")([^\?\"]*)(\")/i", get_text('http://www.xxxxx.com/my/cool/remote/dir'), $matches);
foreach($matches[2] as $match) {
echo $match . '<br>';
}
scandir 将无法使用除您自己的任何其他服务器。如果您希望能够做这样的事情,最好的办法是让它们仍然在单独的服务器上,在网站上有一个 php 文件,在文件服务器上有一个 php 文件。您网站上的 php 文件可以通过文件服务器 php 文件打印数据到屏幕上获取另一台服务器的文件数据,然后网络服务器读取该数据。例子:
网络服务器:
<?php
$filedata = file_get_contents("url to file handler php");
?>
文件服务器:
<?php
echo "info you want webserver to read";
?>
这也可以根据您的 post 和 get 请求进行定制。
我使用了以下方法:
我创建了一个脚本,它遍历文件服务器上的所有文件。
$fileList = glob($dir."*.*");
这只有在脚本实际上在文件服务器上时才有可能。在没有访问权限的情况下浏览另一台服务器上的文件会很奇怪。
有一种方法可以在没有访问权限的情况下执行此操作(请阅读我的其他答案),但这非常慢并且没有派上用场。
我知道我说过我没有访问权限,但我有。我只是想知道所有的可能性。