PHP文件上传

1.配置指令
file_uploads = on/off
确定服务器上的PHP脚本是否可以接受文件上传

max_input_time = integer
指令确定PHP脚本在注册一个致命错误之前解析输入所花费的最长时间,以秒为单位。这很重要,因为特别大的文件需要一段较长的时间才能上传,这会超过这个指令设置的时限。

max_file_uploads = integer
指令对可以同时上传的文件数设置一个上限

post_max_size
对通过POST方法提交的数据大小设置一个上限。由于文件使用POST上传,在处理较大文件时,可能需要上调upload_max_filesize

upload_max_filesize
指令确定上传文件的最大值,以MB为单位。此指令必须不大于post_max_size

upload_tmp_dir
上传的文件在处理之前必须成功地传输到服务器,所以必须指定一个位置来临时放置这些文件,直到文件移动到最终目的地为止。
注意,这个目录对于拥有此服务器进程的用户必须是可写的。

memory_limit
设置脚本可以分配的最大内存量,这可以防止失控的脚本独占服务器内存

2.$_FILES
超级全局变量存储与通过一个PHP脚本上传到服务器的文件有关的各种信息。

<form action="test.php" method="post" enctype="multipart/form-data">
    <input type="file" name="upload"><br>
    <input type="submit" value="submit notes" name="ok">
</form>

a.$_FILES[‘upload’][‘error’]

上传文件的错误码

b.$_FILES[‘upload’][‘name’]

上传文件最初的名称

c.$_FILES[‘upload’][‘size’]

上传文件的大小

d.$_FILES[‘upload’][‘tmp_name’]

指定上传到服务器后文件的临时名。这是存储在临时目录(upload_tmp_dir指定)中时所指定的文件名

e.$_FILES[‘upload’][‘type’]

上传文件的类型MIME类型
eg.上传pdf application/pdf

3.PHP文件上传函数
a.is_uploaded_size()
is_uploaded_size()函数确定指定的文件是否已使用POST方法上传

boolean is_uploaded_file(string filename)
<?php 
    if(is_upload_file($_FILES['upload']['tmp_name'])){
        copy($_FILES['upload']['tmp_name'],"/www/htdocs/".$_FILES['upload']['name']);
    }
?>

is_upload_file()检查$_FILES[‘upload’][‘tmp_name’]指定的文件是否确实上传

b.移动已上传文件
move_uploaded_file()函数是将已经上传文件从临时目录移动到最终目标的一个便利方法

boolean move_uploaded_file(string filename,string destination)

虽然copy()也同样好用,但move_uploaded_file()还提供了一种额外的功能:它检查已确保由filename输入指定参数的文件确实是通过PHP的HTTP POST上传机制上传的。如果指定的文件未上传,则移动失败。因此,在使用move_uploaded_file()时可以不必先使用is_uploaded_file()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值