как исправить 'file_get_content' не удалось открыть поток - PullRequest
0 голосов
/ 30 июня 2019

Я использую cups-ipp для печати из веб-проекта

, и я получил эту ошибку

file_get_contents (./ helloworld.pdf):не удалось открыть поток: нет такого файла или каталога

Я пытался получить файл из хранилища, но получил ту же ошибку

        $builder = new Builder();

        $responseParser = new ResponseParser();

        $printerManager = new PrinterManager($builder, $client, $responseParser);
        $printer = $printerManager->findByUri('ipp://localhost:631/printers/HP_HP_ColorLaserJet_MFP_M278-M281');

        $jobManager = new JobManager($builder, $client, $responseParser);
        $filePath = '../../../storage/app/public/estimated_dates.pdf';

        $job = new Job();
        $job->setName('job create file');
        $job->setUsername('demo');
        $job->setCopies(1);
        $job->setPageRanges('1');
        $job->addFile('./helloworld.pdf');
        $job->addAttribute('media', 'A4');
        $job->addAttribute('fit-to-page', true);
        $result = $jobManager->send($printer, $job);

Я связал хранилище, и я уверен, чтопуть правильный (я тоже использовал auto complete path plugin)

1 Ответ

0 голосов
/ 30 июня 2019

Попробуйте использовать помощник Laravel base_path().

base_path() равно корню вашего проекта.Итак, давайте, например, вы хотите получить доступ к estimated_dates.pdf.Правильным решением будет:

base_path('storage/app/public/estimated_dates.pdf');

Однако вы можете использовать:

php artisan storage:link

, и вы можете получить доступ к файлу: asset('estimated_dates.pdf')

IПредположим, ваш helloworld.pdf находится в корне приложения, поэтому:

base_path('helloworld.pdf')

base_path (): https://laravel.com/docs/5.8/helpers#method-base-path

хранилище: ссылка: https://laravel.com/docs/5.8/filesystem#configuration

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...