PHP上传文件之POST方法巧用_PHP教程

php中文网
发布: 2016-07-15 13:26:48
原创
1389人浏览过

学习php时,你可能会遇到php上传问题,这里将介绍php上传问题的解决方法,在这里拿出来和大家分享一下。本特性可以使用户上传文本和二进制文件。用 php 的认证和文件操作函数,可以完全控制允许哪些人上传以及文件上传后怎样处理php上传的文件。请注意 php 也支持 put 方法的文件上传,netscape composer 和 w3c 的 amaya 客户端使用这种方法。

例子1. 文件上传表单

可以如下建立一个特殊的表单来支持文件上传:

<OL class=dp-xml><LI class=alt><SPAN><SPAN class=comments><FONT color=#008200><!-- The data encoding type, enctype, MUST be specified as below --></FONT></SPAN><SPAN> </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>form</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>enctype</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"multipart/form-data"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>action</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"__URL__"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>method</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"POST"</FONT></SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> </SPAN></SPAN><LI class=alt><SPAN></SPAN><SPAN class=comments><FONT color=#008200><!-- MAX_FILE_SIZE must precede the file input field --></FONT></SPAN><SPAN> </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>input</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>type</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"hidden"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>name</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"MAX_FILE_SIZE"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>value</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"30000"</FONT></SPAN><SPAN> </SPAN><SPAN class=tag><STRONG><FONT color=#006699>/></FONT></STRONG></SPAN><SPAN> </SPAN></SPAN><LI class=alt><SPAN><!-- Name of input element determines name in --</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> </SPAN></SPAN></LI></OL>
登录后复制

PHP上传之POST方法上传

本特性可以使用户上传文本和二进制文件。用 PHP 的认证和文件操作函数,可以完全控制允许哪些人上传以及文件上传后怎样处理。PHP 能够接受任何来自符合 RFC-1867 标准的浏览器(包括 Netscape Navigator 3 及更高版本,打了补丁的 Microsoft Internet Explorer 3 或者更高版本)上传的文件。请注意 PHP 也支持 PUT 方法的文件上传,Netscape Composer 和 W3C 的 Amaya 客户端使用这种方法。

立即学习PHP免费学习笔记(深入)”;

例子2. 文件上传表单

可以如下建立一个特殊的表单来支持文件上传:

<OL class=dp-xml><LI class=alt><SPAN><SPAN>___FCKpd___0 </SPAN></SPAN></LI></OL>
登录后复制

以上范例中的 __URL__ 应该被换掉,指向一个真实的 PHP 文件。

php中级教程之ajax技术
php中级教程之ajax技术

AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它不是新的编程语言,而是一种使用现有标准的新方法,最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容,不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。《php中级教程之ajax技术》带你快速

php中级教程之ajax技术 2114
查看详情 php中级教程之ajax技术

MAX_FILE_SIZE 隐藏字段(单位为字节)必须放在文件输入字段之前,其值为接收文件的最大尺寸。这是对浏览器的一个建议,PHP 也会检查此项。在浏览器端可以简单绕过此设置,因此不要指望用此特性来阻挡大文件。实际上,PHP 设置中的上传文件最大值是不会失效的。但是最好还是在表单中加上此项目,因为它可以避免用户在花时间等待上传大文件之后才发现文件过大上传失败的麻烦。注: 要确保文件上传表单的属性是 enctype="multipart/form-data",否则文件上传不了。

全局变量 $_FILES 自 PHP 4.1.0 起存在(在更早的版本中用 $HTTP_POST_FILES 替代)。此数组包含有所有上传的文件信息。以上范例中 $_FILES 数组的内容如下所示。我们假设文件上传字段的名称如上例所示,为 userfile。名称可随意命名。

<OL class=dp-xml><LI class=alt><SPAN><SPAN>$_FILES['userfile']['name'] </SPAN></SPAN></LI></OL>
登录后复制

客户端机器文件的原名称。

<OL class=dp-xml><LI class=alt><SPAN><SPAN>$_FILES['userfile']['type'] </SPAN></SPAN></LI></OL>
登录后复制

文件的 MIME 类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。

<OL class=dp-xml><LI class=alt><SPAN><SPAN>$_FILES['userfile']['size'] </SPAN></SPAN></LI></OL>
登录后复制

已上传文件的大小,单位为字节。

<OL class=dp-xml><LI class=alt><SPAN><SPAN>$_FILES['userfile']['tmp_name'] </SPAN></SPAN></LI></OL>
登录后复制

文件被上传后在服务端储存的临时文件名。

<OL class=dp-xml><LI class=alt><SPAN><SPAN>$_FILES['userfile']['error'] </SPAN></SPAN></LI></OL>
登录后复制

和该文件上传相关的错误代码。此项目是在 PHP 4.2.0 版本中增加的。文件被上传后,默认地会被储存到服务端的默认临时目录中,除非 php.ini 中的 upload_tmp_dir 设置为其它的路径。服务端的默认临时目录可以通过更改 PHP 运行环境的环境变量 TMPDIR 来重新设置,但是在 PHP 脚本内部通过运行 putenv() 函数来设置是不起作用的。该环境变量也可以用来确认其它的操作也是在上传的文件上进行的。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446564.htmlTechArticle学习PHP时,你可能会遇到PHP上传问题,这里将介绍PHP上传问题的解决方法,在这里拿出来和大家分享一下。本特性可以使用户上传文本和二...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号