文件夹中没有特殊字符

时间:2019-06-25 19:47:08

标签: php laravel laravel-5 directory

我正在laravel 5.8中进行自定义电子商务,我面临的问题是,当我上传产品图片时,它会在公共目录中以产品名称创建文件夹,并将产品图片放置到该文件夹​​中,但是产品名称太长或包含特殊字符laravel不会创建该文件夹,也不会上传任何图像,这是我用于上传图像的代码。

if ($request->file('logo')) {
   $file = $request->file('logo');
   $logo = $file->getClientOriginalName();
   $file->move(public_path('Product Images/' . $request->name), $logo);
 }

任何帮助将不胜感激。预先谢谢你。

1 个答案:

答案 0 :(得分:0)

我认为您尝试的概念不是一个好主意。

1。)当您有很多图像时,不应将它们保存在一个文件夹中。如果单个文件夹中的图片过多,可能会出现问题。通常,您会生成图像的哈希并将其保存在文件夹结构中,例如:891904122.jpeg到文件夹2/2/1/4/891904122.jpeg

那么您就不会遇到特殊字符的问题。

为此,Laravel具有出色的文件抽象性。

https://laravel.com/docs/5.8/filesystem https://github.com/laravel/framework/blob/5.8/src/Illuminate/Http/FileHelpers.php#48

看看hashName

2。)第二个是您应该在文件夹名称中避免空格。在系统之间复制某些文件夹时,可能会遇到麻烦。

3。)有很多出色的Shop-System,例如基于Symfony的Sylius或基于Laravel的Aimios。还有很多。您可以看看他们如何解决问题。