怎样用laravel删除文件?

比如我想删除public目录下的img目录下的aaa.php文件 应该怎么删除呢?我把配置文件的app改成public不行 一直都不成功 请问这样删除不对吗 还是我配置文件写的不对?
图片描述
$src='/img/aaa.php';
Storage::disk('public')->delete($src);

'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('public'),//这里把app改成了public
        ],

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

…………………………
阅读 9.2k
1 个回答

问问题的艺术:
Storage::disk('public')这里的 public 不是你改的 public,而是 disks['public'] 里的所有内容;
打印返回值删除后的返回值
请把你的磁盘的文件目录结构截图,确定文件的位置;


你这个问题就像是在说:知道为什么迪丽热巴不喜欢我吗?(压根都没见到本源,怎么能知道问题所在?)


回复没有 md,在这里更新:
你这百分之一百错误呀,所以截图很明确事实了,
laravel 默认把上传之类的静态资源放在 /storage/app/public下,而你却放到/public下。
正确的做法是把静态资源放到/storage/app/public
看你的想法是直接把/public/*下的文件删除,
你配置 disk 的时候不要使用storage函数,这个函数会自动定位到/storage目录,如果要操作不多的话,我建议直接使用 PHP 或者其他方法删除了.
获取文件路径:

$path = public_path('img/***.php');
unlink($path);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进