我有两个服务器。一个用于文件,一个用于网站。
我知道如何将文件上传到服务器,但现在我需要在网站上显示缩略图。
是否有一种方法可以通过文件服务器上的文件夹/文件,并在使用PHP的网站上显示这些文件的列表?
我找了一会儿,但找不到答案。我尝试使用scandir ([URL]),但没有工作我很不好意思这么说,但是我在另一个帖子里找到了我的答案:
PHP目录列表
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文件将数据打印到屏幕上,然后web服务器读取该数据,从而获得其他服务器的文件数据。例子:
网络服务器:
<?php
$filedata = file_get_contents("url to file handler php");
?>
服务器:
<?php
echo "info you want webserver to read";
?>
我使用了以下方法:
我创建了一个遍历文件服务器上所有文件的脚本。
$fileList = glob($dir."*.*");
只有当脚本实际上在文件服务器上时才有可能。在没有访问权限的情况下浏览另一台服务器上的文件是相当奇怪的。
有一种方法可以在没有访问权限的情况下做到这一点(请参阅我的另一个答案),但这非常慢,而且不方便。
我知道我说过我没有权限,但是我有。我只是想知道所有的可能性。