我试图通过PHP从目录中获取文件列表。 我也试过通过glob,但不能使用HTTP,递归尝试,这是我设法找到的最新脚本。只是它不起作用。它不显示文件。
<?php
$url = 'removed for security puposes';
$html = file_get_contents($url);
$count = preg_match_all('/<td><a href="([^"]+)">[^<]*<\/a><\/td>/i', $html, $files);
for ($i = 0; $i < $count; ++$i) {
echo "File: " . $files[1][$i] . "<br />\n";
}
var_dump($files);
?>
输出var_dump($files);
array(2) {
[0]=> array(0) {
}
[1]=> array(0)
{ }
}
所以我错了。
答案 0 :(得分:2)
是列表,而不是表格
<?php
$url = 'http://www.seoadsem.com/opencart';
$html = file_get_contents($url);
$count = preg_match_all('/<li><a href="([^"]+)">[^<]*<\/a><\/li>/i', $html, $files);
for ($i = 0; $i < $count; ++$i) {
echo "File: " . $files[1][$i] . "<br />\n";
}
var_dump($files);
?>
答案 1 :(得分:1)
出于安全原因,file_get_contents
可能不适用于网址,只适用于文件。请改用cURL。这可以为您节省大量的调试时间。
答案 2 :(得分:1)
<?php
$url = 'removed for security puposes';
$html = file_get_contents($url);
$count = preg_match_all('/<a href="([^"]+)(png|jpg|mp4|\/)">[^<]*<\/a>/i', $html, $files);
for ($i = 0; $i < $count; ++$i) {
echo "File: " . $files[1][$i] . $files[2][$i] . "<br />\n";
}
var_dump($files);
?>
png,jpg,mp4可以替换为所需的扩展名。