我在文件夹/public/download中使用Laravel 5.1,我有很多.htm页面需要获取,所以我写道:
public function scraper() {
$path = 'downloads/';
$files = scandir($path);
foreach ($files as $k => $file) {
if ($k < 2) continue;
$html = file_get_contents($file);
//parse the html into a DOMDocument
$dom = new DOMDocument();
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("//div[@class='merchant-links']/a/@href");
echo $hrefs;
}
}
但是我得到了一个错误:
酒行133中的ErrorException : AdminController.php (1742-file_get_contents-ErrorException-1.htm):无法打开流:没有这样的文件或目录
我也试着:
$path = 'C:/wamp/www/mavis/public/downloads/';
发布于 2018-07-05 02:22:15
我用以下方法解决我的问题:
$files = glob('downloads/*.{htm}', GLOB_BRACE);
发布于 2018-07-05 02:18:43
我觉得你应该用
$html = file_get_contents($path.$file);
因为在这里,您在$html变量中只有一个文件名,但是在函数file_get_contents()
中必须包含一个目录路径
https://stackoverflow.com/questions/51179112
复制相似问题