您当前的位置:首页 > 网站建设笔记 >

PHP 检查服务器是否支持上传

0

你需要的所有信息都显示在PHP主配置页面中,可以通过在远程服务器上运行phpinfo()来显示此页面,向下滚动直至找到Core部分中的file_uploads。如果Local Value是On,就可以上传了,但你还应该检查以下表中列出的其他配置设置。

影响文件上传的PHP配置设置
指令 默认值 说明
max_execution_time 30 PHP脚本可以运行的最大秒数。如果脚本的运行超过这个时间,PHP生成一个致命错误
max_input_time 60

PHP脚本解析$_POST和$_GET数组以及文件上传所允许使用的最大秒数,如果上传数据非常大,可能会超时

由于上传大文件可能需要花费一些时间,还可能需要在php.ini中更改max_input_time值,或者在脚本中使用set_time_limit()函数绕过它。
post_max_size 8M

所有$_POST数据允许使用的最大值,包括文件上传。虽然默认值是8MB,但托管公司允许上传的值可能更小

post_max_size的8MB默认值包含$_POST数组的内容,因此同时上传的文件的总大小要小于8MB,单个文件不超过2MB。服务器管理员可以修改这些默认值,因此检查托管公司所设置的限制十分重要的。如果超出这些限制,无论多么完美的脚本也会失败。

控制PHP可以接受的,通过POST方法上传数据的最大值。该值必须大于upload_max_filesize设置值,因为它是所有POST数据的大小,包括了任何上传的文件

upload_tmp_dir NULL

指定上传的文件在被处理之前的临时保存目录。如果没有设置该选项,将使用系统默认值

在脚本把上传的文件移动到永久位置之前,这是PHP存储这些文件的地方。如果php.ini中没有定义这个值,则PHP使用系统默认的临时目录。

upload_max_filesize 2M 单个上传文件大小的最大值。虽然默认为2MB,但托管公司允许上传的值可能会更小。只有数字表示所允许上传的字节数。数字后面加K表示允许上传的千字节数

除了在PHP配置中自动限制设置之外,你还可以在HTML表单中指定上传文件的最大大小。

利用PHP上传文件

<form enctype="multipart/form-data" action="" method="post">
<!--这是一个隐藏的表单字段,因此它不在屏幕上显示。然而,把它放置在文件输入字段之前是非常重要的,否则,它将无法工作。name属性MAX_FILE_SIZE是固定的。-->
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
<input type="file" name="image">
<input type="submit" name="upload" value="上传">
</form>

初始表单标签的enctype部分指示表单应该能够处理多种类型的数据,包括文件。如果你想接受文件上传,就必须包括这个enctype!另请注意:表单必须使用POST方法。MAX_FILE_SIZE隐藏输入框是一种表单限制元素,用于限制所选的文件可以有多大(以字节为单位),它必须出现在文件输入框之前。虽然用户可以很容易地避开这种限制,但仍然应该使用它。

顶部中部底部