Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 存储未在laravel中正确链接 考虑下面的配置: 'registry_logo' => [ 'driver' => 'local', 'root' => storage_path('app/public/registry_logo/'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ],_Php_Laravel - Fatal编程技术网

Php 存储未在laravel中正确链接 考虑下面的配置: 'registry_logo' => [ 'driver' => 'local', 'root' => storage_path('app/public/registry_logo/'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ],

Php 存储未在laravel中正确链接 考虑下面的配置: 'registry_logo' => [ 'driver' => 'local', 'root' => storage_path('app/public/registry_logo/'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ],,php,laravel,Php,Laravel,非常基本,是的,我已经运行了php artisan存储:link 那么现在我如何存储上传的徽标呢 public function uploadLogo(UploadedFile $file, RegistrySettings $settings): void { $path = $file->store('registry_logo'); $settings->registry_logo = $path; $settings->save(); }

非常基本,是的,我已经运行了
php artisan存储:link

那么现在我如何存储上传的徽标呢

public function uploadLogo(UploadedFile $file, RegistrySettings $settings): void {
    $path = $file->store('registry_logo');

    $settings->registry_logo = $path;

    $settings->save();
}
这存在于一个服务中,第一个参数是
$request->registry\u logo
,它是一个文件(一个必需的文件,因此我们可以假定它不是null)

上传徽标时,生成的链接为:
http://127.0.0.1:8000/storage/registry_logo/iuKceIG6XC5b8P5YLh3zMRMWbqGaZikaRP6sMWew.png

所以这看起来不错,我通过:
Storage::disk('registry\u logo')->url($registrySettings->registry\u logo)])获取它。

接受它的不好,让我们看两张图片:

如您所见,链接存储中没有registry_徽标文件夹,这毫无意义,因为:

它在储藏室里。怎么回事?为什么它在存储器中,但没有正确链接?我已经清除了缓存多次,但在上传时,它不会在第一张图片中创建注册表_徽标链接

有时,奇怪的是,它会创建registry_徽标文件夹,但其中没有任何内容。我把配置搞砸了吗?我正在正确地存储它,我知道laravel喜欢
$request->file('file')->store('disk_name')
,但这种方式也适用于上传文件,只是链接不正确,我想知道是我-可能吧,但我可以在哪里查找


想法?

第一个参数是要在磁盘中上载的路径

使用要存储上载文件的路径调用store方法:

您只需在第二个参数中指定要存储到的磁盘

$path=$file->store(''registry_logo');
或者你可以:

$path=Storage::disk('registry_logo')->putFile($file);
有关更多信息: