laravel
中创建符号链接时,它会创建 storage/app/public
文件夹的符号链接到 public/storage
文件夹。这意味着如果您想公开访问任何文件,则将所有文件放在 storage/app/public
文件夹中,并像此示例一样访问它。<img src="{{asset('storage/puppy/18/test.png')}}" alt="">
这里的意思是文件test.png
应该实际上位于storage/app/public/puppy/18
文件夹中。
在Laravel中执行php artisan storage:link
以创建符号链接。
希望它能够清楚地传达给您。
对于共享主机,请尝试以下解决方案:
代码:
1)删除public_html/public/storage中的storage文件夹。
2)在public_html文件夹中创建一个名为symlink.php的php文件。
3)向symlink.php文件添加代码。
$targetFolder = $_SERVER['DOCUMENT_ROOT'].'/storage/app/public';
$linkFolder = $_SERVER['DOCUMENT_ROOT'].'/public/storage';
symlink($targetFolder,$linkFolder);
echo 'Symlink process successfully completed';
4) 转到网站 example.com/symlink.php
就是这样...
来自 YouTube 的视频网址 => https://www.youtube.com/watch?v=svyN8-PjGHc
$_SERVER['DOCUMENT_ROOT']
返回的路径包括公共文件夹。最终我打印出路径并手动输入和修改变量到 symlink
函数中,成功运行了! - Tumecho getcwd();
的操作来知道上传文件的路径。然后我手动输入了符号链接函数中的路径,类似于 symlink('/path/of/existing/folder', '/path/of/preferred/folder);
。这是一段时间以前的事情,所以我不确定我输入的确切内容。 - Tum<img src="{{asset('puppy/18/ax2Fk08nyWrV6TwTOnsXNCkNGuIdFebB7TTfPYGb.png')}}" alt="">
php artisan storage:link
命令吗? - user3574492