在PHP中从远程服务器获取文件和文件夹列表

时间:2011-11-17 15:00:24

标签: php

当我跑步时:

$url='foldername';
$dir = opendir($url);

//List files in images directory
while (($file = readdir($dir)) !== false)
  {

  echo "filename: " . $file . "<br />";
  }
closedir($dir); 

......输出:

filename: a.gif 
filename: file.html
filename: g.gif
filename: gg.html

我想通过网址查看其他服务器上的所有文件和文件夹:

$url="http ://example.com"

如何从example.com找到文件和文件夹名称?

5 个答案:

答案 0 :(得分:8)

有可能。刚开出盒子。只有这个缺陷才是索引输出

<?
    $matches = array();
    preg_match_all("/(a href\=\")([^\?\"]*)(\")/i", get_text('http://www.website.com/ images/'), $matches);
    foreach($matches[2] as $match)
    {
        echo $match . '<br>';
    }

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

答案 1 :(得分:6)

http://不支持目录列表。你想做的事情是不可能的。

答案 2 :(得分:4)

当然这是不可能的,否则网站会更容易被攻击,因为任何人都可以探索他们的目录树!

如果你有另一种方式访问​​该网站(例如,如果它是你的网站),如FTP或SSH,它就有可能。

答案 3 :(得分:0)

也许用php是不可能的......但是有些程序可以做你想做的事情。 “intellitamper”就是其中之一。 http://www.softpedia.com/get/Internet/Other-Internet-Related/IntelliTamper.shtml&lt; - 链接。

  • 它在Windows 7上不起作用
  • 你无法获得像php这样的服务器端文件。
  • 你只能看到文件夹,html,js或图像文件。

否则它将是天堂......任何人都可以破解任何网站。

答案 4 :(得分:0)

这在某些服务器上应该可以正常工作

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('https://www.example.com/'), $matches);

foreach($matches[2] as $match) {
    echo $match . '<br>';
}