laravel安装composer依赖Excel
2018-07-30 14:02:11 来源:admin 点击:1170
Laravel中使用Laravel Excel 实现Excel文件导入导出
原文链接:http://laravelacademy.org/post/2024.html
GitHub地址:https://github.com/Maatwebsite/Laravel-Excel
Laravel中使用Laravel 图片上传 实现图片文件导入
内容待续
Laravel中使用Laravel 视频上传 实现视频文件导入
内容待续
Laravel中使用Laravel 文件上传 实现word PPT Excel PDF TXT等文件导入
安装 0 在终端内切换到你的laravel项目根目录,执行composer require peinhu/aetherupload-laravel ~1.0 1 (Laravel 5.5请跳过)在config/app.php的providers数组中添加一行 AetherUpload\AetherUploadServiceProvider::class, 2 执行php artisan aetherupload:publish来发布一些文件和目录 3 赋予上传目录相应权限,在项目根目录下,执行chmod -R 755 storage/app/aetherupload 4 在浏览器访问http://域名/aetherupload可到达示例页面 提示:更改相关配置选项请编辑config/aetherupload.php。 注意两个地方:当多人协同办公的时候需要从新执行0和2步骤 当你的网站路径不是根路径时需要修改js下面的aetherupload.js下面的aetherupload/uploading(两处) $.ajax({ //上传文件时注意路径,如果是更目录则去掉 /项目名称/public url: "/项目名称/public/aetherupload/uploading", type: "POST", 基本用法 文件上传:参考示例文件注释的部分,在需要上传大文件的页面引入相应文件和代码。 可使用自定义中间件来对文件上传进行额外过滤,还可使用上传完成事件对上传的文件进一步处理。 分组配置:在配置文件的GROUPS下新增分组,运行php artisan aetherupload:groups自动创建对应目录。 自定义中间件:参考laravel文档中间件部分,创建你的中间件并在Kernel.php中注册, 将你注册的中间件名称填入配置文件对应部分,如['middleware1','middleware2']。 上传完成事件:分为上传完成前和上传完成后事件,参考laravel文档事件系统部分, 在EventServiceProvider中注册你的事件和监听器,运行php artisan event:generate生成事件和监听器, 将你注册的事件完整类名填入配置文件对应部分,如'App\Events\OrderShipped'。 添加秒传功能(需Redis及浏览器支持) 安装Redis并启动服务端。安装predis包composer require predis/predis, 在.env文件中配置Redis的相关参数。确保上传页面引入了spark-md5.min.js文件。 提示:在Redis中维护了一份与实际资源文件对应的hash清单, 文件的md5哈希值为资源文件的唯一标识符,实际资源文件的增删造成的变化均需要同步到hash清单中, 否则会产生脏数据,扩展包已包含新增部分,删除(deleteOneHash)则需要使用者自行调用相关方法处理, 详情参考RedisHandler类。 使用方便的artisan命令 php artisan aetherupload:groups 列出所有分组并自动创建对应目录 php artisan aetherupload:build 在Redis中重建资源文件的hash清单 php artisan aetherupload:clean 清除几天前的无效临时文件 php artisan aetherupload:publish vendor:publish的简化命令,覆盖发布一些目录和文件 优化建议 (推荐)设置每天自动清除无效的临时文件。 由于上传流程存在意外终止的情况,如在传输过程中强行关闭页面或浏览器, 将会导致已产生的文件部分成为无效文件,占据大量的存储空间, 我们可以使用Laravel的任务调度功能来定期清除它们。 在Linux中运行crontab -e命令,确保文件中包含这行代码: * * * * * php /项目根目录的绝对路径/artisan schedule:run 1>> /dev/null 2>&1 在app/Console/Kernel.php中的schedule方法中添加以下代码: $schedule->call(function () { \AetherUpload\ResourceHandler::cleanUpDir(); })->daily(); 设置每天自动重建Redis中的hash清单。 不恰当的处理和某些极端情况可能使hash清单中出现脏数据,从而影响到秒传功能的准确性, 重建hash清单可消除脏数据,恢复与实际资源文件的同步。 在Linux中运行crontab -e命令,确保文件中包含这行代码: * * * * * php /项目根目录的绝对路径/artisan schedule:run 1>> /dev/null 2>&1 在app/Console/Kernel.php中的schedule方法中添加以下代码: $schedule->call(function () { \AetherUpload\RedisHandler::build(); })->daily(); 提高临时文件读写速度。 利用Linux的tmpfs文件系统,来达到将临时文件放到内存中快速读写的目的。执行以下命令: mkdir /dev/shm/tmp chmod 1777 /dev/shm/tmp mount --bind /dev/shm/tmp /tmp