Не удалось открыть поток: нет такого файла или каталога с php - scandir

Я использую Laravel 5.1. В папке / public / download у меня есть много страниц .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;
}
}

но я получил ошибку:

ErrorException в строке 133 AdminController.php: file_get_contents (1742-wine-bar-1.htm): не удалось открыть поток: нет такого файла или каталога  введите описание изображения  здесь Я тоже пробую:

 $path = 'C:/wamp/www/mavis/public/downloads/';

person Aleks Per    schedule 04.07.2018    source источник


Ответы (2)


Решаю свою проблему с помощью:

$files = glob('downloads/*.{htm}', GLOB_BRACE);
person Aleks Per    schedule 04.07.2018

Я думаю, тебе стоит использовать

$html = file_get_contents($path.$file);

потому что здесь, в переменной $ html, у вас есть только имя файла, но вы должны указать путь к каталогу в функции file_get_contents()

person MrSmile    schedule 04.07.2018