浏览另一台服务器PHP的文件夹中的文件

时间:2013-04-10 11:41:13

标签: php file

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

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

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

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

3 个答案:

答案 0 :(得分:2)

我很尴尬地说这个,但我在另一个帖子找到了答案:

PHP directory list from remote server

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>';
}

答案 1 :(得分:1)

我使用了以下方法:

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

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

仅当脚本实际位于文件服务器上时才可以执行此操作。在没有访问权限的情况下浏览另一台服务器上的文件会很奇怪。

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

我知道我说过我无法访问,但我有。我只想知道所有的可能性。

答案 2 :(得分:0)

除了你自己的服务器之外,scandir不会运行任何其他服务器。如果你想做这样的事情你最好的办法就是让它们仍然在不同的服务器上,那就是在网站上有一个php文件,在文件服务器上有一个php文件。您网站上的php文件可以通过文件服务器php文件打印数据到屏幕上获取其他服务器的文件数据,并在网络服务器上读取该数据。例如:

网络服务器:

<?php
$filedata = file_get_contents("url to file handler php");
?>

文件服务器:

<?php
echo "info you want webserver to read";
?>

这也可以根据您的发布和获取请求进行自定义。

相关问题