- 6
- 0
- 约7.75千字
- 约 42页
- 2019-01-24 发布于浙江
- 举报
* * * * * * * * * * * * 6-5 上传文件的“数据采集” 1. 与上传相关的配置 upload_tmp_dir:配置了PHP上传文件的过程中产生临时文件(默认扩展名为tmp)的目录。默认值为:c:/wamp/tmp,表示临时文件存放在目录c:/wamp/tmp中。典型配置示例:upload_tmp_dir = c:/wamp/tmp 配置好上面四个参数后,在网络正常的情况下,上传小于8M的文件一般不会出现问题。但如果要上传“大”文件,或者网速较慢,只进行上面的配置未必行得通,此时还需进行下面的配置。 max_input_time:配置单个PHP程序解析提交数据(以POST或GET方式)的最大允许时间,单位是秒,默认值为60。当设置为-1 表示不限制。典型配置示例:max_input_time = 60 6-5 上传文件的“数据采集” 1. 与上传相关的配置 memory_limit:配置单个PHP程序在服务器主机运行时,可以占用服务器最大内存数,默认值为128M。当设置为-1表示为不限制。典型配置示例:memory_limit = 128M max_execution_time:配置单个PHP程序在服务器端运行时占用服务器的最大时间,单位是秒,默认值为30。配置该选项可以有效避免死循环或大文件上传等程序长期占用服务器CPU导致服务器崩溃。如果设置值为0表示不限制运行时间。典型配置示例:max_execution_time = 30。在PHP程序中使用set_time_limit()函数也可以设置该选项,例如:set_time_limit(0)。 6-5 上传文件的“数据采集” 2. PHP文件上传流程 6-5 上传文件的“数据采集” 3. 预定义变量$_FILES 使用预定义变量$_FILES可以获取上传文件的相关信息,$_FILES是一个二维数组。例如可以在程序register.php中使用如下方法得到register.html表单中“个人相片”上传文件的相关信息: ?$_FILES[myPicture][name]:上传文件的文件名; ?$_FILES[myPicture][type]:上传文件的MIME类型; ?$_FILES[myPicture][size]:上传文件的大小,单位为字节; ?$_FILES[myPicture][tmp_name]:与上传文件相对应的服务器端的临时文件名; ?$_FILES[myPicture][error]:文件上传的状态代码; 6-5 上传文件的“数据采集” 4. 预定义变量$_FILES 说明:MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。例如GIF图片的MIME类型为:image/gif。 $_FILES[myPicture][error]的取值及对应的意义为: ?0:没有错误发生,文件上传成功。 ?1:上传的文件超过了 php.ini 中upload_max_filesize选项限制的值。 ?2:上传文件的大小超过了FORM表单中MAX_FILE_SIZE参数指定的值。 ?3:文件只有部分被上传。 ?4:表单没有选择上传文件。 6-5 上传文件的“数据采集” 5. PHP文件上传的实现 PHP提供了两个上传相关的函数:is_uploaded_file和move_uploaded_file函数。 1.is_uploaded_file()函数 语法格式:bool is_uploaded_file ( string fileName ) 函数功能:is_uploaded_file()函数用于判断文件名为fileName的文件是否为上传过程中产生的临时文件。 例如:is_uploaded_file($_FILES[myPicture][tmp_name])的返回值为TRUE。 6-5 上传文件的“数据采集” 5. PHP文件上传的实现 2.move_uploaded_file()函数 语法格式:bool move_uploaded_file ( string fileName, string destination ) 函数功能:move_uploaded_file()函数用于将上传过程中文件名为fileName的临时文件移动到指定目录destination中,确保文件的成功上传。如果fileName 不是合法的临时文件,不会出现任何操作,move_uploaded_file()函数将返回 FALSE。 说明:如果目标文件destination已经存在,目标文件destination将会被覆盖。 6-5 上传文件的“数
原创力文档

文档评论(0)