我使用DOMPDF生成pdf。Laravel 5 DOMPDF imagepng(.png):无法打开流:权限被拒绝
这里是我的pdf.blade.php:
<img src="{{ public_path() . '/images/logo.png' }}" id="logo" />
<table class="order_confirmation">
<tbody>
<tr>
<th>Company name</th>
<td>Name</td>
</tr>
<tr>
<th>Email</th>
<td>[email protected]</td>
</tr>
</tbody>
</table>
这里是我的控制器方法:
public function pdf() {
$data = array();
$pdf = PDF::loadView('pdf', $data);
return $pdf->stream();
}
这里是错误:
ErrorException in class.pdf.php line 4036: imagepng(.png): failed to open stream: Permission denied
而且堆栈跟踪:
in class.pdf.php line 4036 at HandleExceptions->handleError('2', 'imagepng(.png): failed to open stream: Permission denied', '/Applications/XAMPP/xamppfiles/htdocs/blablacompany/vendor/dompdf/dompdf/lib/class.pdf.php', '4036', array('file' => '/Applications/XAMPP/xamppfiles/htdocs/blablacompany/public/images/logo.png', 'x' => '34.015748031496', 'y' => '606.8742519685', 'w' => '334.5', 'h' => '201', 'byte' => '6', 'img' => 'Resource id #278', 'eight_bit' => false, 'wpx' => '446', 'hpx' => '268', 'tempfile_alpha' => '.png', 'tempfile_plain' => '.png', 'imgalpha' => resource, 'c' => '256', 'allocated_colors' => array('000' => '0', '9598261', '12756008', '9993266', '15848487', '7493443', '12690472', '16309032', '14269479', '5586004', '11637804', '16243240', '8809018', '2169210', '12624680', '15256615', '6638155', '2366072', '5454677', '10256177', '13151271'...
你能帮我吗?
P.S.
- 我也尝试过url('/ images/logo.png')而不是public_path()。 '/images/logo.png'
- 我已经搭配chmod 777存储厂商也对公共/图片,但仍然没有工作...
ErrorException in image_cache.cls.php line 105: file_put_contents(): Filename cannot be empty
UPDATE:
- 如果我设置chmod 754和
return view('pdf')
- >图像不显示(以及其他页面正在使用图像/ - 如果我设置chmod 754和
$pdf = PDF::loadView('pdf', $data); return $pdf->stream();
→生成PDF但图像被抚摸正方形 - 但如果我设置命令chmod 755和
return view('pdf')
- >图像显示,但.. - 当我尝试
$pdf = PDF::loadView('pdf', $data); return $pdf->stream();
我收到一条错误消息:
ErrorException in image_cache.cls.php line 105: file_put_contents(): Filename cannot be empty
检查此:http://stackoverflow.com/questions/8103860/move-uploaded-file-gives-failed-to-open-stream-permission-denied-error-after –
老实说,我不下MacBook Air:公共myuser $ sudo chmod -R 777 images/- 不工作 MacBook-Air:public myuser $ sudo chmod -R 755 images /不工作 MacBook Air:公共myuser $ sudo chmod -R 754图像/ - WORKING。现在至少生成pdf,但图像看起来像抚摸方形..但这可能是另一个问题 – Aleksandrs