Не удалось открыть поток: нет такого файла или каталога с php - scandir - PullRequest
0 голосов
/ 04 июля 2018

Я использую 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 в строке AdminController.php 133: file_get_contents (1742-wine-bar-1.htm): не удалось открыть поток: нет такого файла или каталога enter image description here Я также пытаюсь:

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

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Я решаю свою проблему с:

$files = glob('downloads/*.{htm}', GLOB_BRACE);
0 голосов
/ 04 июля 2018

Я думаю, вы должны использовать

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

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

...