File Laravel文件与存储外观
File Laravel文件与存储外观,file,laravel,storage,facade,File,Laravel,Storage,Facade,文件和laravel 5.2中的正面之间有什么区别吗? 似乎他们都使用相同的合同。我在laravel文档中没有看到文件的文档。 如果它们不同,如何相互作用?文件是PHP函数(如File_exists()等)的一个非常简单的包装器。存储“得益于Frank de Jonge出色的Flysystem PHP包,是一个强大的文件系统抽象”。这可用于处理本地文件(即Storage::disk('local')->exists('path')) 在Laravel 5之前,Laravel没有系统集成。当时,文
文件
和laravel 5.2中的正面之间有什么区别吗?似乎他们都使用相同的合同。我在laravel文档中没有看到
文件的文档。
如果它们不同,如何相互作用?文件是PHP函数(如File_exists()等)的一个非常简单的包装器。存储“得益于Frank de Jonge出色的Flysystem PHP包,是一个强大的文件系统抽象”。这可用于处理本地文件(即Storage::disk('local')->exists('path')
)
在Laravel 5之前,Laravel没有系统集成。当时,文件外观是与(本地文件)交互的“方式”。我猜删除文件的文档是为了让用户使用存储。但文件系统确实可以工作。文件外观只包含一些仅适用于绝对路径或相对于脚本的基本方法:
\File::makeDirectory('/home/www/myProject/storage/app/uploads/14214')代码>
\File::copy('/home/www/myProject/storage/app/uploads/14214/test.json','/home/www/myProject/storage/app/uploads/9999/test.json')代码>
存储外观包含一组复杂的方法,是其他第三方工具的包装器
第一个优点是,您可以使用文件夹的相对路径:
Storage::makeDirectory('uploads/14214')代码>
Storage::copy('uploads/14214/test.json','uploads/9999/test.json')代码>
您可以在config/filesystems.php
中更改默认文件夹/storage/app
,或者创建其他磁盘,您可以使用storage::disk('specialxyz')->copy(…)
调用这些磁盘
您还可以将原始文件内容保存到如下文件中:
Storage::put('file.jpg',$contents)代码>
我最喜欢的是,上传用户文件非常容易
$path = Storage::putFile('avatars', $request->file('avatar'));
或
默认情况下,store方法将生成一个唯一的ID作为
文件名。文件的扩展名将通过检查
文件的MIME类型。存储将返回文件的路径
方法,以便存储路径,包括生成的文件名,
在您的数据库中
谢谢。你是说根本不需要文件
门面?存储
可以完成所有工作吗?在文档示例中,taylor使用了file\u get\u contents()
,尽管他可以使用file::get()
。也许file
会被弃用。
$path = $request->file('avatar')->store('avatars');