Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从视图内的公用文件夹访问资产(Laravel)_Php_Laravel_Phpmailer - Fatal编程技术网

Php 从视图内的公用文件夹访问资产(Laravel)

Php 从视图内的公用文件夹访问资产(Laravel),php,laravel,phpmailer,Php,Laravel,Phpmailer,我无法访问视图中的资产 这是我的密码 $mail->addAttachment(asset($file), 'receiptFile', 'base64', 'application/octet-stream'); 浏览器显示以下错误: 无法访问文件: 消息 无法发送。邮件程序错误:无法访问文件: --- 如您所见,文件的路径已成功定位 如果Laravel可以找到该文件,为什么会显示错误。尝试以下操作: ->attach( public_path('receiptGener

我无法访问视图中的资产

这是我的密码

 $mail->addAttachment(asset($file), 'receiptFile', 'base64', 'application/octet-stream');
浏览器显示以下错误:

无法访问文件: 消息 无法发送。邮件程序错误:无法访问文件: ---

如您所见,文件的路径已成功定位

如果Laravel可以找到该文件,为什么会显示错误。

尝试以下操作:

->attach(
   public_path('receiptGenerator2/public/5a46187d954de.png'), [
   'as' =>"attachment.png" ,
   'mime' => 'application/octet-stream',
]);
资料来源:

编辑:因为您使用的是phpmail,所以应该可以做到这一点

 $mail->addAttachment(public_path($file), 'receiptFile', 'base64','application/octet-stream');
邮件需要完整路径,是的,您可以通过浏览器从该url打开文件,但phpmailer试图访问您的磁盘,因此它试图从/var/www/html/project/获取无效的文件。

请尝试这种方式 使用资产并给出图像名称,如果文件是任何文件夹,则给出{{asset'folder\u name/image\u name'}


它的generate

也就是说,第一个参数必须是本地文件系统路径;如果你给它一个URL,它将不起作用。PHPMailer不是一个HTTP客户机-有许多其他函数和库可以帮助您实现这一点,因此如果您需要从远程URL获取某些内容作为附件使用,请使用它们。无论如何,您都不应该对本地资源使用本地主机URL,因为这是不必要的低效。

您可以将任何内容传递给资产,资产将生成URL,无论该URL是否有效或是否存在,它没有“发现”任何东西什么版本的Laravel?receiptGenerator2/public/5a46187d954de.png位于磁盘上还是以某种方式生成的?版本是5.5.28No路径是绝对正确的。当我把路径放在浏览器上时,浏览器会打开png图像。{{}将使用php命令,如刀片视图中的asset。因为他在控制器中,所以不需要这些。检查这个,这正是我正在做的。我得到了正确的路径。不,我在视图中。我正在使用,所以{}不是必需的。兄弟,我在视图中。它抛出了一个错误。attach是一个未知的方法。我的坏,尝试在视图中发送电子邮件是不正常的,所以我假设您在控制器中。您使用的是laravel mail facade还是PHPmail?我使用的是PHP MailerBro您是冠军。我爱您。我花了3个小时在这方面。谢谢。
{{ asset('5a46187d954de.png') }}