我正在使用Laravel 5.1 在文件夹/ public / download中,我需要获取许多.htm页面,所以我写:
<div class="flex">
<div class="flex w-100 special">
<input type="" class="flex-1" />
<div class="flex-2">
<i class="fa fa-address-book" aria-hidden="true"></i>
</div>
</div>
<div class="content">
content info box content
</div>
</div>
但是我得到了错误:
AdminController.php第133行中的ErrorException: file_get_contents(1742-wine-bar-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;
}
}
答案 0 :(得分:2)
我通过以下方式解决了我的问题:
$files = glob('downloads/*.{htm}', GLOB_BRACE);
答案 1 :(得分:1)
我认为您应该使用
$html = file_get_contents($path.$file);
因为在$ html变量中,您只有文件名,但是必须在函数file_get_contents()
中包含目录路径