Php Laravel 5.4从错误路径获取图像
我有一个表单,可以将数据(包括图像)上传到我的数据库,并从视图中访问该数据。问题是laravel从错误的路径获取数据。无论如何,这就是为什么——存储在数据库中的路径读取为;Php Laravel 5.4从错误路径获取图像,php,image,path,filesystems,laravel-5.4,Php,Image,Path,Filesystems,Laravel 5.4,我有一个表单,可以将数据(包括图像)上传到我的数据库,并从视图中访问该数据。问题是laravel从错误的路径获取数据。无论如何,这就是为什么——存储在数据库中的路径读取为; http://localhost/var/www/html/theproject/public/img/uploads/img.jpg 这当然是不可访问的,因为它应该是; http://localhost/theproject/public/img/uploads/img.jpg 这是我用来将位置路径设置为“img/uplo
http://localhost/var/www/html/theproject/public/img/uploads/img.jpg
这当然是不可访问的,因为它应该是;
http://localhost/theproject/public/img/uploads/img.jpg
这是我用来将位置路径设置为“img/uploads”的控制器代码
$location = public_path('img/uploads');
$mydata->img1920 = $request->file('img1920')->move($location);
$mydata->save();
通过这样的视图访问
<img src="{{ $mydata->img1920 }}" >
img1920}>
那么为什么laravel在路径中包含/var/www/html?您使用的是
public\u path()
,它将返回绝对路径,而不是相对于文档根目录或公共路径(您想要的)的路径
使用move()
时,Laravel使用相对于公共路径的给定路径:
因此,您可以简单地使用:
$mydata->img1920 = $request->file('img1920')->move('img/uploads', $filename);
其中,$filename
是您希望调用该文件的方式
您还可以将
store()
或storeAs()
与配置的文件系统结合使用,其工作方式相同
请参阅:官方文档对助手函数
public\u path()
公共_路径()
public_path函数将完全限定的路径返回给
公共目录:
$path=public_path()
public\u path
返回完全限定路径
不要使用
public\u path()
尝试使用url()
或move()
谢谢。效果非常好。