1、 全局变量$_FILES[‘xxx’];
PHP5新创了一个$_$_FILES全局变量来接收文件的上传。这和以往版本有些差别。在旧版本里,你可以打开register_globals=on直接使用全局变量,或使用$HTTP_POST_FILSE[‘xxx’],这里只研究PHP5
2、文件上传表单
1,上传文件的表单使用post方式(和get的区别不用说了);还要加上enctype=''multipart/form-data''。
2,一般要加上隐藏域:
,位置在file域前面。value的值是上传文件的客户端字节限制。据说可以减少文件超标时客户端的等待时间,不过我没觉得有什么区别。
注意:MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP.ini 设置中的上传文件最大值,是不会失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。
3,出于安全考虑,file域是不许赋值的。随便在file域输入字符串,然后按submit也不会有反应。必须是第二个字符是冒号的时候(比如空格跟随冒号可以上传一个长度为0字节的“文件”),submit才同意“服务”——不过这个是客户端的措施,跟MAX_FILE_SIZE一样很容易绕过去。
Page1.php:
<font size="2"><font face="宋体"><form enctype="multipart/form-data" action="page2.php" method="POST"></form></font></font>
<font size="2"><font face="宋体"><input type="hidden" name="MAX_FILE_SIZE" value="8388608"></font></font>
<font size="2"><font face="宋体">上传文件: <input name="</font"></font></font>