php文件上传

在服务器上判断:

1)接收数据post  2)enctype="multipart/form-data"属性

3)move_uploaded_file :移动文件到指定位置

php.ini临时文件的配置   file_uploads = On   upload_tmp_dir = "

临时文件的消失时间:临时文件在接受的.php文件结束后,就立即消失了

要是没有.php文件没有结束,则可以观察到临时文件的内容;

在客户端判断上传文件大小:js是不允许操作本地文件的

Ajax 无法实现在客户端判断上传文件的大小

1.php文件上传的过程:

做一个文件上传的表单:

<form action="up.php"method="post">
                用户名:<input type="text" name="username"/><br/>
                头像:<input type="file" name="pic"/><br/>
                <input type="submit" value="提交"/>
</form>

1)提交后,文件自动发到服务器上,形成一个临时文件,

2)在服务器上,只需要把临时文件移动到自己想要的位置,就可以完成上传文件

php形成临时文件后,还会形成一个$_FILES超级全局数组

数组里面保存着文件的临时地址,临时名称,大小,等信息

注意:文件上传必须用post提交

在up.php中:

<?php
print_r($_FILES);
?>

此时打印在浏览器上的为空数组

解决方法:声明enctype选项

即:在form中声明:enctype="multipart/form-data"属性

通知对方服务器,发的是包含文件的二进制信息表单数据

则会出现:

{

name:上传文件名

type:文件类型

tem_name:临时文件名

error:错误代码

size:文件大小 以字节来表示 ;

}

3)如何移动上传的临时文件

用move_uploaded_file()函数<?php

print_r($_FILES);

if(move_uploaded_file($_FILES['pic']['tmp_name'],'./file/'.$_FILES['pic']['name'])){
    echo "success";
}else{
    echo "fail";

}

 

posted on 2015-12-04 18:23  yanran  阅读(442)  评论(0编辑  收藏  举报