gpt4 book ai didi

php - Laravel 检查存储是否存在不工作

转载 作者:行者123 更新时间:2023-12-03 16:42:24 24 4
gpt4 key购买 nike

我正在尝试通过以下方式检查文件是否已存在于存储中

if(Storage::exists($request->file_name)):
dd(var_dump("it did exist"));
else:
dd(var_dump("it did not exist"));
endif

但它总是返回一个字符串“它确实存在”,即使文件被实际删除或文件不存在,任何想法,帮助?

我确定我的存储位置设置没有问题,因为我在将文件上传到存储时没有问题,
Storage::put($file_name, File::get($file));

PS:我在 Laravel 5.0

更新:

这是我的 Laravel 5.0 配置文件夹中的 filesystems.php
<?php

return [

/*
|--------------------------------------------------------------------------
| Default Filesystem Disk
|--------------------------------------------------------------------------
|
| Here you may specify the default filesystem disk that should be used
| by the framework. A "local" driver, as well as a variety of cloud
| based drivers are available for your choosing. Just store away!
|
| Supported: "local", "s3", "rackspace"
|
*/

'default' => 'local',

/*
|--------------------------------------------------------------------------
| Default Cloud Filesystem Disk
|--------------------------------------------------------------------------
|
| Many applications store files both locally and in the cloud. For this
| reason, you may specify a default "cloud" driver here. This driver
| will be bound as the Cloud disk implementation in the container.
|
*/

'cloud' => 's3',

/*
|--------------------------------------------------------------------------
| Filesystem Disks
|--------------------------------------------------------------------------
|
| Here you may configure as many filesystem "disks" as you wish, and you
| may even configure multiple disks of the same driver. Defaults have
| been setup for each driver as an example of the required options.
|
*/

'disks' => [

'local' => [
'driver' => 'local',
'root' => storage_path().'/employee_documents/',
],

's3' => [
'driver' => 's3',
'key' => 'your-key',
'secret' => 'your-secret',
'region' => 'your-region',
'bucket' => 'your-bucket',
],

'rackspace' => [
'driver' => 'rackspace',
'username' => 'your-username',
'key' => 'your-key',
'container' => 'your-container',
'endpoint' => 'https://identity.api.rackspacecloud.com/v2.0/',
'region' => 'IAD',
],

],

];

最佳答案

我在 Laravel 5.5 上遇到了同样的问题,解决方案是使用

Storage::disk('public')->exists($file_name)

代替
Storage::exists($file_name)

默认情况下,在我的 config/filesystem.php 上,我有两种类型的本地磁盘(本地和公共(public)),但我不知道:
    'disks' => [

'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],

'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],

's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
],

],

关于php - Laravel 检查存储是否存在不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38365276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com