Когда я запускаю:
$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-адресу:
$url="http ://example.com"
Как найти имена файлов и папок с example.com
?
Возможно. Просто нужно выйти за пределы коробки. Только недостаток – это индексный вывод
<? $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; } } ?>
http://
не поддерживает список каталогов. То, что вы пытаетесь сделать, невозможно.
Конечно, это невозможно, иначе сайты будут гораздо более уязвимыми, так как каждый может исследовать дерево своих каталогов!
Если у вас есть другой способ доступа к этому веб-сайту (например, если он ваш), например FTP или SSH, это становится возможным.
Возможно, с php невозможно .. но там r программ, которые могут делать то, что пытается сделать ur. «intellitamper» – один из них. http://www.softpedia.com/get/Internet/Other-Internet-Related/IntelliTamper.shtml <- ссылка.
В противном случае это был бы рай … любой мог взломать любой сайт.
Это должно хорошо работать на некоторых серверах
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>'; }