2011-11-17 14 views
6

Kiedy biegnę:Uzyskiwanie plików i Lista folderów ze zdalnego serwera w PHP

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

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

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

... wyprowadza:

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

Chciałbym zobaczyć wszystkie pliki i foldery na innym serwerze z adresu URL:

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

Jak znaleźć pliki i nazwy folderów od example.com?

+0

Czy naprawdę chcesz przeglądać url dla wszystkich plików i folderów (niemożliwe/patrz odpowiedź) albo starasz się lista wszystkich plików i plików na serwerze/przestrzeń sieciowa? –

Odpowiedz

6

http:// nie obsługuje wyświetlania w katalogu. To, co próbujesz zrobić, jest niemożliwe.

+0

Następnie, jak otworzyć to .. Nie było żadnej funkcji, aby otworzyć plik – vineeth

+0

@vineeth: Tak jak powiedziałem, nie można uzyskać zdalnej listy katalogów serwera http. Jeśli nie masz innej trasy do serwera, takiej jak dostęp do FTP, masz pecha. –

4

Jest to oczywiście niemożliwe, w przeciwnym razie strony internetowe byłyby znacznie bardziej narażone, ponieważ każdy mógł przeglądać drzewo katalogów!

Jeśli masz inny sposób uzyskania dostępu do tej witryny (np. Jeśli to Twoja), na przykład FTP lub SSH, staje się to możliwe.

8

Jest to możliwe. Po prostu muszę wyjść poza pole. Jedyną wadą jest to wyjście z indeksu

<? 
    $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

Zastanawiam się, po co jest [2]? Dzięki – KarenAnne

0

Może z php jest niemożliwe .. ale tam r programy, które mogą robić to, co U R próbuje zrobić. "intellitamper" jest jednym z nich. http://www.softpedia.com/get/Internet/Other-Internet-Related/IntelliTamper.shtml < - link.

  • jego praca nie robi na windows 7
  • u nie można uzyskać pliki boki serwerowe jak php.
  • Możesz zobaczyć tylko foldery, pliki html, js lub pliki obrazów.

W przeciwnym razie byłoby niebem ... każdy mógł włamać się na jakąkolwiek stronę.

0

To powinno działać prawidłowo w niektórych serwerach

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>'; 
} 
Powiązane problemy