Laravel 文档 (https://laravel.com/docs/5.2/filesystem#storing-files https://laravel.com/docs/5.2/filesystem#storing-files)说明这一点:
存储文件
put 方法可用于在磁盘上存储文件。您还可以将 PHP 资源传递给 put 方法,该方法将使用 Flysystem 的底层流支持。处理大文件时,强烈建议使用流:
Storage::put('file.jpg', $contents);
Storage::put('file.jpg', $resource);
我想要保存一个大于我的 php 内存限制(512MB)的文件,所以当我这样做时,我收到内存错误:
Local.php 第 128 行中的 FatalErrorException:允许的内存大小 536870912 字节已耗尽(尝试分配 377028088 字节)。
如何使用文档中所示的流媒体功能?如何从文件路径转到“PHP 资源”?
PHP 不允许您上传该大小的文件。文档中指出的资源是这样的PHP资源 http://php.net/manual/en/resource.php
下面是一个使用外部图像 URL 创建图像的简单示例干涉 http://image.intervention.io/。 Intervention库使用GD库,该库位于PHP资源列表下。
$image = Image::make('Your Extenal URL')->stream();
Storage::put('image_name.jpg', $image->getContents());
对于您的情况,这里是上传文件的示例代码。
$file = Request::file('file_field');
Storage::put($file->getClientOriginalName(), File::get($file));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)