位置: 编程技术 - 正文

PHP实现文件上传和多文件上传(php文件上传用什么请求方法)

编辑:rootadmin

推荐整理分享PHP实现文件上传和多文件上传(php文件上传用什么请求方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php 上传文件,php实现文件上传的函数,php如何实现文件上传,php实现文件上传功能函数,php实现文件上传功能函数,php实现文件上传下载,php实现文件上传需要使用哪个全局变量,php实现文件上传功能,内容如对您有帮助,希望把文章链接给更多的朋友!

在PHP程序开发中,文件上传是一个使用非常普遍的功能,也是PHP程序员的必备技能之一。值得高兴的是,在PHP中实现文件上传功能要比在Java、C#等语言中简单得多。下面我们结合具体的代码实例来详细介绍如何通过PHP实现文件上传和多文件上传功能。

要使用PHP实现文件上传功能,我们先来编写两个php文件:index.php和upload.php。其中,index.php页面用于提交文件上传的表单请求,upload.php页面用于接收上传的文件并进行相应处理。

首先,我们来编写一个简单的index.php文件,由于其中涉及的主要是html代码,比较简单,因此不再赘述,index.php页面的详细代码如下:

值得注意的是,由于在HTTP协议设计之初,它并不支持文件上传功能,form表单的encrypt属性的默认值为application/x-www-form-urlencoded,它只能用于提交一般的表单请求。如果提交的表单中包含需要上传的文件,我们需要将enctype的属性值改为multipart/form-data才能实现文件上传功能。此外,method的属性值必须为post。

PHP实现文件上传和多文件上传(php文件上传用什么请求方法)

接着,我们继续编写upload.php文件的代码。

在PHP中,当浏览器客户端提交过来的表单请求中包含上传的文件时,PHP会将上传的文件先暂时存放在临时目录中(在Windows操作系统中,默认的临时目录一般为C:/Windows/Temp),然后将上传文件的相关信息存放在超全局变量$_FILES中。因此,我们只需要通过$_FILES数组获取上传的文件信息,然后对其进行相应的处理操作即可。下面,我们来看看通过浏览器上传A.gif和B.gif两个图片文件时,使用print_r()函数输出超全局变量$_FILES的详细信息:

在上面的例子中,我们上传的两个文件参数名分别为upload_file1和upload_file2。现在,我们让表单中的多个文件以相同的参数名upload_file,将刚才上传的两个文件以参数数组形式再次提交上传。此时,我们需要将index.php页面中的两个file文件域修改为如下html代码:

文件1:<input name="upload_file[]" type="file" /><br/> 文件2:<input name="upload_file[]" type="file" /><br/>

此外,我们还需要对upload.php页面进行相应的修改:

同样的,我们使用print_r()函数来查看上面例子中的超全局变量$_FILES的详细信息:

备注1:在PHP的默认配置下,上传的文件大小超出一定的范围将会出错,请参文末提到的如何修改PHP上传文件的大小限制问题的解决方法。备注2:上述处理文件上传的PHP代码只是一个简单的入门示例,并不能直接作为正式代码使用,因为还有许多需要额外注意的安全因素没有考虑,例如:文件的类型、文件的大小以及上传文件的名称重复等。备注3:如果上传的文件名称中包含中文,可能引起文件名称乱码问题。此时,需要使用函数iconv()来转换文件名称的编码。

前面我们了解了如何使用PHP实现文件上传和多文件上传。不过,在PHP的默认配置情况下,当上传的文件大小超出一定的限制时,我们将得到如下的错误提示信息:

从上面的配置信息中我们可以看出,PHP的默认配置信息就是导致PHP文件上传时提示文件大小超出限制的「罪魁祸首」。笔者已经在上述配置信息中给出了各个指令选项对应的中文注释信息,大家可以根据自己的实际需求情况对php.ini配置文件进行相应的修改。

标签: php文件上传用什么请求方法

本文链接地址:https://www.jiuchutong.com/biancheng/287450.html 转载请保留说明!

上一篇:PHP文件上传问题汇总(文件大小检测、大文件上传处理)(php 文件上传类型限制)

下一篇:通过PHP自带的服务器来查看正则匹配结果的方法(php从服务器下载文件)

  • 资产处置损益包含增值税吗
  • 所得税在什么情况下扣除
  • 套期工具是资产还是负债
  • 研发费用的社保怎么做
  • 土地出让金计算方法
  • 年底员工借款如何处理
  • 企业会计做无票收入也要交税吗?
  • 营改增后企业出售房产涉税
  • 建筑工程总包单位
  • 出口企业退税流程
  • 发票作废情况说明书
  • 成本票和费用票分别是什么
  • 如何下载金三系统的客户端插件?
  • 物业公司小规模纳税人如何报税
  • 无偿提供服务需要交增值税吗
  • 入住酒店报销
  • 实行简易征收
  • 剩余材料出售
  • word从一台电脑考到另一台电脑格式不一致怎么解决
  • 承兑汇票公对公多久到账
  • windows10如何显示桌面图标
  • php 面向对象
  • 减值测试步骤
  • php从哪里开始学
  • 橡皮树的养殖方法视频教程
  • 取得运输发票会计分录
  • 格拉纳达的阿尔罕布拉宫用什么材料制成?
  • springboot常用
  • php7.1
  • 原材料结转成本有几种方法
  • 企业资产负债表有何作用
  • 买入返售金融资产和卖出回购金融资产
  • thinkphp5框架介绍
  • 控制器操作视频
  • php的time函数
  • 电子税务局购票员变更
  • 人力资源公司如何找客户
  • 认证系统维护费怎么算
  • mysql内连接查询使用汉语作为官方语言的所有国家
  • 印花税对什么征税
  • 银行转账支付凭证有效期多久
  • 工程项目成本管理实论
  • 使用pt-kill根据一定的规则来kill连接的方法
  • 收到银行承兑汇票的账务处理
  • 不符合资本化的长期借款利息计入什么科目
  • 生产过程中报废怎么核算成本
  • 公司老板个人卡收支公司业务属于什么行为
  • 增值税代扣代缴范围
  • 社保基数在哪里申报
  • 贴现汇票到期收回时
  • 员工在外餐费怎么做账
  • 无形资产什么时候开始计提折旧
  • 查看sqlserver操作记录
  • win8.1所有程序在哪里
  • java异常后面的语句会运行吗
  • linux安装.sh
  • windowsxp的安装方法
  • linux系统输入法锁定了怎么解开
  • windows8锁屏
  • win8怎么安装win10
  • 可用分区az
  • linux查看使用率命令
  • [置顶]马粥街残酷史
  • 安卓十游戏怎么玩
  • python中判断数值类型
  • onkeyup,onkeydown和onkeypress的区别介绍
  • java使用jni
  • jquery并列选择器
  • javascript总结笔记
  • jquery版本过低
  • python编程求一个数的平方
  • java script教程
  • jQuery 更改checkbox的状态,无效的解决方法
  • javascript截图找图
  • 对python变量的理解
  • 陕西省地方税务局公告2017年第2号
  • 宾馆税务
  • 无锡医疗保险缴费比例
  • 浙江省税务发票
  • 河南旧县为什么叫新县
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设