12.4.1 文件上传的设置
客户端上传设置
在B/S程序中文件上传已经成为一个常用功能。其目的是客户可以通过浏览器(Browser)将文件上传到服务器(Server)上的指定目录。
PHP中文件上传的基础知识:
客户端form表单
服务器端对上传文件的操作
客户端文件上传的form表单:
<html>
<head><title>文件上传</title></head>
<body>
<form action="upload.php" method="post"
enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
选择文件:<input type="file" name="myfile">
<input type="submit" value="上传文件">
</form>
</body>
</html>
注意几个特征属性:
POST方法:
表单最常用的功能,向目标页面传递变量,我们在上传文件的时候,会在表单中设置相应的属性,来完成文件的传递
enctype="multipart/form-data"
这样服务器就会知道,我们要传递一个文件,这样服务器可以知道上载的文件带有常规的表单信息。
MAX_FILE_SIZE
此字段必须在文件输入字段之前,控制最大的传递文件的大小(字节)
<input type="file" name="userfile">
设置浏览器文件输入浏览按钮
PHP配置文件中与文件上传有关的选项
$_FILES多维数组
超级全局数组$_FILES
1、$_FILES["myfile"]["name"]中的值是:
客户端文件系统的文件的名称
2、$_FILES["myfile"]["type"]中的值是:
客户端传递的文件的类型
3、$_FILES["myfile"]["size"]中的值是:
文件的字节的大小
4、$_FILES["myfile"]["tmp_name"]中的值是:
文件被上传后在服务器存储的临时全路径
5、$_FILES["myfile"]["error"]中的值是:
文件上传的错误代码-php 4.2以后增加的功能
upform.html
<form action="upload.php" method="post" enctype="multipart/form-data" >
name: <input type="text" name="username" value="" /><br>
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
up pic: <input type="file" name="pic" value=""><br>
<input type="submit" value="upload" /><br>
</form>
upload.php
<?php
echo '<pre>';
print_r($_POST);
print_r($_FILES);
echo "</pre>";