PHP上传文件夹的三种解决方案

PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。

1.file_uploads=on/off

  是否允许通过http方式上传文件

2.max_execution_time=30

  允许脚本最大执行时间,超过这个时间就会报错

3.memory_limit=50M

  设置脚本可以分配的最大内存量,防止失控脚本占用过多内存,此指令只有在编译时设置了 
   --enable-memory-limit标志的情况下才生效

4.upload_max_filesize=20M

  允许上传文件的最大大小,此指令必须小于post_max_size

5.upload_tmp_dir

  上传文件临时存放目录

6.post_max_size=30M

  允许post方式可以接受最大大小

$_FILES['myFile']['name']   客户端上次文件的原始名称。 

$_FILES['myFile']['type']   文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。 

$_FILES['myFile']['size']   已上传文件的大小,单位为字节。 

$_FILES['myFile']['tmp_name']   文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。 

$_FILES['myFile']['error']   和该文件上传相关的状态码。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的说明:(它们在PHP3.0以后成了常量) 

UPLOAD_ERR_OK 

    值:0; 没有错误发生,文件上传成功。

UPLOAD_ERR_INI_SIZE 

    值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。 

UPLOAD_ERR_FORM_SIZE 

    值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 

  UPLOAD_ERR_PARTIAL 

    值:3; 文件只有部分被上传。 

  UPLOAD_ERR_NO_FILE 

    值:4; 没有文件被上传。 

    值:5; 上传文件大小为0. 
文件被上传结束后,默认地被存储在了临时目录中,这时您必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。

也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。

附:修改PHP上传文件大小限制的方法

1. 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.

但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.

这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time

在php.ini里查找

max_execution_time

默认是30秒.改为

max_execution_time = 0

0表示没有限制

2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。

php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
查找 post_max_size .改为

post_max_size = 150M

3. 很多人都会改了第二步.但上传文件时最大仍然为 8M.

为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。

查找upload_max_filesize,默认为8M改为

upload_max_filesize = 100M

另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.

上传效果展示:

视频演示:

Web大文件上传下载断点续传-文件夹上传下载-php5-mysql-测试教程

详细思路及源码

示例下载:

wordpaster-vue3-cli-ueditor1.5wordpaster-vue-ueditor1.5wordpaster-asp.net-ueditor1.5xwordpaster-php-ueditor1xwordpaster-jsp-ueditor1x​

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SentCMS网站管理系统是南昌腾速科技有限公司倾力打造的一款简单易用的网站管理系统,SentCMS网站管理系统(下文简称SentCMS)继承了thinkphp的优秀品质,秉承“大道至简”的设计理念。SnetCMS为网站建设而生,为网站建设减少90%的代码编写,只需前端设计师就可以设计出完美的网站,而如此完美的系统还是完全开源的。 环境要求 生产环境建议Linux+Nginx+php+mysql 建议PHP7+ 安装 为了保证系统的安全性,系统根目录移至public目录下,把程序和逻辑代码放到根目录以外。在配置网站时,把网站根目录指向web目录下,然后通过composer把所需的扩展类库更新,包括thinkphp框架同样通过composer进行更新。 最好是使用云主机进行安装,虚拟主机有很多局限性 git clone https://gitee.com/sentcms/sentcms.git sentcms cd sentcms 如果是直接下载压缩包则直接进入解压文件,然后执行下面的代码 composer install 访问网址:http://网址/install.php 系统必须开启伪静态、 系统必须开启伪静态、 系统必须开启伪静态、 (重要的事情说三篇) SentCMS特性包括: 全新的路由体系,完美的路由解决方案 全新的系统架构,采用thinkphp6.0.* 内核框架 完善而健全的会员体系 健全的权限系统,权限细化到界面上的按钮和链接 漂亮的后台界面,后台界面采用世界领先的前端框架bootstrap,自适应的体验 简单易用的标签体系 便捷的文档系统,无需程序即可设计出完美的模型,做出完美的网站,传送门:http://www.kancloud.cn/tensent/sentcms3/169624 下载最新版框架后,解压缩到sentcms目录下面,可以看到初始的目录结构如下: 目录结构 ├─addons                扩展插件目录 ├─application           项目目录文件 │ ├─controller          控制器文件 │ │ ├─admin               网站后台控制器文件 │ │ ├─api                 网站API控制器文件 │ │ ├─user                网站用户中心控制器文件 │ │ ├─front               网站前台控制器文件 │ │ ├─Base.php            网站控制器基类 │ │ ├─Upload.php          网站文件上传控制器 │ ├─http                HTTP服务 │ │ ├─form              表单控件文件 │ │ ├─middleware        中间件文件 │ │ ├─validate          验证类文件 │ ├─model               模型文件 │ │ ├─Member.php      用户模型 │ │ ├─ ………… │ ├─common.php        公共函数库文件 │ │ ├─ ………… ├─runtime                缓存以及备份目录 ├─extend              自定义类库扩展目录 ├─vendor              网站扩展类库目录,通过composer更新下载的类库扩展在此目录 ├─public              网站根目录 │ ├─static         静态文件文件 │ ├─uploads        上传文件目录 │ ├─template       网站主题模板目录 │ ├─.htaccess      Apache下伪静态文件 │ ├─favicon.ico    ico图标 │ ├─index.php      入口文件 ├─composer.json    composer配置文件 ├─README.md        系统介绍文件
新秀企业网站系统PHP版 1.1 beta3说明: 一、新秀企业网站系统PHP版是一款简洁易用、方便二次开发PHP企业网站系统。系统安装时有Mysql和Access两种数据库可供选择;后台功能齐全,操作简便,可扩展性良好,具有较高安全性;前台可设置成同时显示多国语言,适合用于外贸企业建站;系统采用了目前业界著名的PHP模板引擎Smarty,熟悉Smarty的开发人员可以方便、快速地制作出sinsiu模板。 新秀企业网站系统PHP版可免费下载使用,可用于商业用途,没有功能和时效限制,除版权标识外,所有代码都允许修改。目前新秀企业网站系统PHP版没有收费的计划,但我方保留发布收费版的权利,同时承诺在发布收费版之前的所有版本都是免费的,将来也不会受到收费版的影响。 新秀企业网站系统PHP版原名为“红头船企业网站系统”,原英文名为RHSCMS,曾用名HTCCMS,红头船系列产品已经合并入新秀。 二、后台功能简介: 1.基本设置:基本信息,联系方式,网站设置,导航管理,模块启闭,安全设置,静态设置,管理员帐号,数据库管理,其它设置; 2.产品管理:产品列表,添加产品,产品分类,产品属性; 3.文章管理:文章列表,发表文章,文章分类,关于我们列表,添加关于我们,人才招聘列表,添加人才招聘,下载列表,添加下载; 4.用户互动:用户管理,留言管理,评论管理,产品订购,问卷调查,网站公告,在线客服,用户协议,友情链接; 5.文件管理:选择模板,图片管理,焦点图片,语言设置,资源管理; 6.高级应用:新建频道,频道标题,后台导航管理。 三、更新情况: 1、修正过滤程序; 2、修复后台无法切换模板的BUG; 3、修复可能导致第三方JS代码显示异常的BUG。 四、安装说明: 1.我方推荐的PHP版本为PHP 5.2左右,我方推荐的PHP集成环境为XAMPP 1.7左右; 2.全新安装需把upload文件里面的(注意,是里面的)子目录和文件全部上传到网站根目录下,然后在浏览器上打开网站,按提示选择数据库、填写数据库信息,最后点击安装按钮即可完成安装; 3.本系统默认设置1小时内只能登录后台10次,您可以在“后台-基本设置-安全设置”里面修改时长和登录次数,以免在调试期间出现无法登录后台的情况。 五、升级说明: 1.sinsiu PHP 1.1 beta2的用户可以通过升级程序方便地升级到sinsiu PHP 1.1 beta3,不需要重新安装程序,原有数据不会丢失; 2.如果您是sinsiu PHP 1.1 beta2用户,请把upgrade文件整个上传到网站根目录下,在浏览器地址栏输入http://网站路径/upgrade/,然后按提示点击升级链接; 3.如果升级之后出现页面布局混乱,请先清除浏览器临时文件,然后重新打开网站即可; 4.不建议使用“新建频道”功能的用户升级系统,因为升级可能导致该功能所创建的文件丢失,理论上能够手动修复,但比较麻烦,建议不懂技术的用户不要尝试。 六、注意事项: 1.本系统的Access数据库只在Windows服务器上有效,建议要使用Access数据库的用户选择Windows主机; 2.本系统的伪静态功能只在Apache服务器(一般搭配Linux操作系统)上有效,建议要使用伪静态功能的用户选择Linux主机; 3.由于本系统采用UTF-8编码,不能在Windows中用记事本编辑,因为记事本会自动加BOM头导致程序异常,推荐使用专业的Dreamweaver或小巧的Notepad++编辑器; 4.升级、搬站、上传本地测试程序到服务器,进行此三种操作后如果页面出现错误代码,请按如下方法手动清空Smarty缓存:进入admin/compile目录和index/compile目录,将里面的文件全部删除即可; 5.本系统在发布之前经过多次测试,一般不会在核心功能上出错。如果您在使用中遇到程序出错,请先从自己的运行环境上找原因,请不要一遇到问题就将责任推到我方身上,甚至怀疑我方故意留下缺陷以期收费,这完全无助于问题的解决和个人的进步。如果您断定出错是由我方程序造成的,可以将问题发送至我方邮箱,我方确定后将会免费为您提供解决方案,同时我方对您的反馈表示感谢! 七、后台路径:http://网站路径/admin

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值