当前位置: 首页 > 知识库问答 >
问题:

使用Laravel删除文件

孔欣可
2023-03-14

我让troble从Laravel项目中删除一个文件。该文件位于/storage/exports目录下,它是一个使用Laravel excel库存储在磁盘上的excel。这是我的代码:

$path = $excel->store('xls', false, true)['full'];
...send the xls via mail....
Storage::delete($path);

当我检查文件的存在与file_exist我得到真,所以Laravel是能够读取文件。我还检查了该文件夹的权限,我使用chmod 777给出了该文件夹的所有权限。

谢谢!

共有3个答案

阴高刚
2023-03-14

即使使用Laravel,也可以使用常规的PHP函数。

unlink($path);
葛哲彦
2023-03-14

尝试将文件存储在存储/app/exports中。Storage类存储文件的默认位置是Storage/app

最好不要使用Excel类来存储文件,而是使用存储类来保存文件:Storage::put('exports/excelfile.xls',$fileContents)

孟英叡
2023-03-14

存储驱动程序已经知道根目录,所以$path必须是相对的,而不是完整的。因此,如果您的文件位于:/this/is/the/all/path.xls中,并且配置filesystems.disks.local.root设置为/this/is/the/ful,则基本上是让它查找在/this/is/the/all/this/is/the/all/path.xls中的文件

你有两个选择。

1) 将新驱动程序添加到该配置中,并直接引用它:

'custom_location' => [
    'driver' => 'local',
    'root' => '/some/other/root/path',
]

Storage::driver('custom_location'))-

2) 创建一个一次性的:

$rootPath = '/some/other/root/path';
$client = Storage::createLocalDriver(['root' => $rootPath]);
$client->delete($relativePathFromRoot);

 类似资料:
  • 我正在使用Laravel 5.2(用于后端)和AngularJS用于字体端构建一个REST完整的Web应用程序。我通过使用API连接到Laravel后端。现在我偶然发现了以下问题:我可以正确上传图像,但再次删除它是不工作的。 这些文件将上载到Larvel public/images/upload/文件夹中。这是我的Angular服务(单击“删除”按钮时触发的http请求),其中变量imageToD

  • 我试图从我的laravel安装删除barryvdh/laravel-desgbar,似乎我没有做正确的事情。 到目前为止我所做的: 然后我删除了config/app.php中的引用 我有一个错误: 我尝试过自动卸载、清除编译,但都不起作用。 我错过了什么? 2016年2月22日编辑:我还试图删除所有文件夹,然后通过再次安装,但在运行命令时再次出错。

  • 我正在使用gradle构建一个Spring Boot应用程序,我希望从war中删除文件,因为该文件将从外部加载(它运行在tomcat容器中,而不是嵌入式的)。 我查看了StackOverflow和Gradle文档,试图找出该做什么,但我不知道该绑定到哪个阶段,以及在创建war之前还是之后排除该文件。处理文件似乎也有多种方法。 我相信Maven使用作为等价物。

  • 使用Composer从Laravel移除包的正确方法是什么?到目前为止我已经试过: 从中删除声明(在“require”部分中) 从中删除任何类别名 从我的代码中删除对包的任何引用:-) 运行 运行 这些选项都不起作用!我错过了什么?

  • 在本地环境中,我可以导航到domain.com/app,但在AWS中,它仅在我使用domain.com/public/app时有效。我已经尝试了很多方法来解决它而不使用公用文件夹 我已经尝试了两种不同的方法: 添加了. htaccessmod_rewrite但它提供了下面的错误。 Laravel NotFoundHttpException位于compiled.php第7610行。 我不想将serv

  • 这是我的Laravel 5.2文件夹结构 在Laravel的根文件夹laravel下,我添加了一个带有以下代码的文件: 现在,当我在浏览器中打开project时,会出现以下错误: 对不起,找不到您要找的页面。"在RouteCollection.php行161中的NotFoundHttp异常:" 我正在使用XAMPP。为什么我会犯这个错误?如何使用此方法从URL中删除public?