57、设置php.ini配置实现表单文件上传流程

阅读() @2018-10-29 18:16:08

用form表单结合php进行文件上传之前,首先得配置一下php.ini里边的参数,具体如下:

1、打开网站上传的功能(file_uploads = On);

2、文件上传后存储的位置(临时存储位置:upload_tmp_dir = "D:/wamp/tmp");

3、上传文件的大小限制(upload_max_filesize = 2M);

4、脚本运行的最大时间(max_execution_time = 30);

5、脚本运行所占用的内存大小(memory_limit = 128M)。

以上几个参数都是根据自己网站的实际情况来配置的,如果要上传视频文件,那么各项参数可能就需要调大一些,如果只是一些很小的文本文件,则参数可相应的调小。

测试代码如下:

html部分:

<form action="test.php" method="post" enctype="multipart/form-data">
	<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
	<input type="file" name="file" value="" />
	<input type="submit" value="上传文件" />
</form>
<!--隐藏域表单一定要放在最前边才会起作用-->

php部分:

echo '<pre>';
print_r($_FILES);

点击【上传文件】按钮之后,页面跳转到test.php,最后输出结果如下:

/*
Array
(
    [file] => Array
        (
            [name] => jquery面试题.jpg
            [type] => image/jpeg
            [tmp_name] => D:\wamp\tmp\php72F4.tmp
            [error] => 0
            [size] => 343109
        )

)
*/

可以看出这个一个数组,我们用$_FILE即可打印出用户提交的文件信息,其中:

【name】:上传的文件名;

【type】:上传的文件类型;

【tmp_name】:上传的临时路径(当脚本执行完毕之后,这个临时文件会自动删除,所以临时文件在被自动删除之前,需要把这个文件移动到指定的文件夹里边,下一节会讲到移动的方法);

【error】;错误提示,分为以下几部分:

(1)0:没任何错误;

(2)1:文件大小超过了php.ini配置文件中定的大小;

(3)2:文件大小超过了前台表单设定的文件大小(MAX_FILE_SIZE);

(4)3:只上传了文件的一部分;

(5)4:没有上传任何文件。

【size】:上传文件的大小,单位是字节。

微信二维码
锐壳主机