3

我有两台服务器。一份用于文件,一份用于网站。

我想出了如何将文件上传到该服务器,但现在我需要在网站上显示缩略图。

有没有办法通过文件服务器上的文件夹 /files 并使用 PHP 在网站上显示这些文件的列表?

我现在搜索了一段时间,但找不到答案。我尝试使用 scanddir([URL]) 但这没有用。

4

3 回答 3

3

我很尴尬这么说,但我在另一篇文章中找到了答案:

来自远程服务器的 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>';
}
于 2013-04-10T12:39:46.030 回答
1

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 请求进行定制。

于 2013-04-10T12:04:08.337 回答
1

我使用了以下方法:

我创建了一个脚本,它遍历文件服务器上的所有文件。

$fileList = glob($dir."*.*");

这只有在脚本实际上在文件服务器上时才有可能。在没有访问权限的情况下浏览另一台服务器上的文件会很奇怪。

有一种方法可以在没有访问权限的情况下执行此操作(请阅读我的其他答案),但这非常慢并且没有派上用场。

我知道我说过我没有访问权限,但我有。我只是想知道所有的可能性。

于 2013-04-15T07:43:31.510 回答