我有一个案例,假设我将产品的图像上传到名为“uploads”的临时目录,然后将其移动到另一个名为“products”的目录,并且该图像将位于像这样动态创建的子目录中
products/1/variants/1/image.jpeg
我的搬家密码
$sourcePath = 'public/'.$image['path'];
$destinationPath = "products/".$product>id."/variants/".$variantImages['variantId']."/".pathinfo($sourcePath, PATHINFO_BASENAME);
Storage::makeDirectory("public/images/products/".$product->id."/variants/".$variantImages['variantId']);
Storage::move($sourcePath, "public/images/".$destinationPath);
注意:我使用 Hostinger 托管
图像已移至正确的目录,但由于权限原因我无法读取
我希望阅读图片
Storage::setVisibility()
我认为您想要做的是将图像从存储路径移动到公共文件夹。
Storage::put('file.jpg', $contents, 'public');
我认为这更应该是你应该采取的方法。或者,如果您希望它持续存在,也可以更改可见性。
$visibility = Storage::getVisibility('file.jpg');
Storage::setVisibility('file.jpg', 'public');
公用文件夹可访问,然后您可以添加您希望在其中找到它的路径。放置也是如此。
如果没有,并且您确实想做上面正在做的事情并修复它。您有一个错误,您有“$product>id”,它应该是“$product->id”