【发布时间】:2020-04-17 19:00:06
【问题描述】:
Laravel 共享主机保存图片问题:
情况:
- 无法创建符号链接()
"symlink() has been disabled for security reasons" - 不支持 ssh,只支持 ftp
如何将图像保存到public_html 让我们说一个文件storage/cover_image
这是开发过程中生成的快捷方式
if($request->hasFile('cover_image')){
// Get filename with the extension
$filenameWithExt = $request->file('cover_image')->getClientOriginalName();
// Get just filename
$filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
// Get just ext
$extension = $request->file('cover_image')->getClientOriginalExtension();
// Filename to store
$fileNameToStore= $filename.'_'.time().'.'.$extension;
// Upload Image
Storage::disk('my_upload')->put($fileNameToStore, $request->file('cover_image'));
//$path = $request->file('cover_image')->storeAs('public/cover_images', $fileNameToStore);
} else {
$fileNameToStore = 'noimage.jpg';
}
我在my_upload 中制作了一个自定义磁盘,我不知道它保存文件的位置,但它没有保存在public_html/storage/cover_images 中
//custom my_disk code
'my_upload' => [
'driver' => 'local',
'root' => public_path().'/storage/cover_images',
'visibility' => 'public',
],
如果我使用 storeAs 它总是存储不在public_html 中的storage,它也不是权限问题,因为我仍在测试我已将权限设置为777
【问题讨论】:
-
只是一个简短的提示。不要像您使用的那样使用托管服务提供商,只需通过 digitalocean 之类的人租用 VPS,并完全控制
-
现在我知道了
-
您在使用共享主机吗?
-
是的,它是一个共享主机