Laravel 5.x - 在共享主机上加载图像和上传或移动文件时出现问题
Laravel 5.x - Problem with load image and upload or moving file on shared hosting
我一直在关注这个
但是,到目前为止还不足以解决我的问题,我想请教这个问题的最佳实践或解决方案
这是我的控制器代码:
if($request->hasfile('news_photo_url'))
{
$image = $request->file('news_photo_url');
$name=$image->getClientOriginalName();
$image_path = public_path().'\img\news';
$image_path_to_db = '\img\news\'.$name;
$image->move($image_path,$name);
}
这就是我加载图像的方式,
<img src="{{ asset($news->news_photo_url) }}" alt="">
这在我的本地完全没问题,
但共享主机 cpanel 中的情况有所不同,我的应用位于此处
home/laravel/
我的 public (index.php) 位于此处
home/public_html/name/
如何正确解决这个问题?
因为添加这行代码也不起作用,
$app->bind('path.public', function() {return __DIR__; });
因为这只是告诉public在这里,但是存储在db中的路径会不同
http://xxx.xxx.com/home/user/public_html/afe1f78ef6233580f2739a69be00027f.jpg
先谢谢你
我认为您可以通过修改您的 app.php
文件来修改资产的位置,或者我认为更好的做法是向您的 .env 添加一个变量来设置您的资产的位置,具体取决于它们在本地是否不同和生产。
app.php
'asset_url' => env('ASSET_URL', null),
或
.env
ASSET_URL=path/to/folder
我一直在关注这个
但是,到目前为止还不足以解决我的问题,我想请教这个问题的最佳实践或解决方案
这是我的控制器代码:
if($request->hasfile('news_photo_url'))
{
$image = $request->file('news_photo_url');
$name=$image->getClientOriginalName();
$image_path = public_path().'\img\news';
$image_path_to_db = '\img\news\'.$name;
$image->move($image_path,$name);
}
这就是我加载图像的方式,
<img src="{{ asset($news->news_photo_url) }}" alt="">
这在我的本地完全没问题,
但共享主机 cpanel 中的情况有所不同,我的应用位于此处
home/laravel/
我的 public (index.php) 位于此处
home/public_html/name/
如何正确解决这个问题?
因为添加这行代码也不起作用,
$app->bind('path.public', function() {return __DIR__; });
因为这只是告诉public在这里,但是存储在db中的路径会不同
http://xxx.xxx.com/home/user/public_html/afe1f78ef6233580f2739a69be00027f.jpg
先谢谢你
我认为您可以通过修改您的 app.php
文件来修改资产的位置,或者我认为更好的做法是向您的 .env 添加一个变量来设置您的资产的位置,具体取决于它们在本地是否不同和生产。
app.php
'asset_url' => env('ASSET_URL', null),
或
.env
ASSET_URL=path/to/folder