php上传文件

本文介绍了使用PHP进行文件上传的详细步骤,包括HTML表单设置、PHP预定义变量$_FILES的使用,以及如何处理上传错误。通过示例代码展示了如何检查文件类型、大小,并将上传的图片移动到服务器指定目录。
摘要由CSDN通过智能技术生成
上传图片

注意:一定要添加这一句(enctype="multipart/form-data"),告诉浏览器上传文件,服务器发送属性提交数据按“二进制流方式处理”。

<!--HTML页面开始-->

<form action="upl.php" method="post" enctype="multipart/form-data">
头像<input type="file" name="tupian" value="" />
<input type="submit" value="上传" />
</form>
<!--HTML页面结束-->

预定义变量$_FILES数组有5个内容:
$_FILES['userfile']['name']——客户端机器文件的原名称
$_FILES['userfile']['type']——文件的 MIME 类型
$_FILES['userfile']['size']——已上传文件的大小,单位为字节
$_FILES['userfile']['tmp_name']——文件被上传后在服务端储存的临时文件名
$_FILES['userfile']['error']——和该文件上传相关的错误代码

其中$_FILES['userfile']['error']的可以有下列取值和意义:
0——没有错误发生,文件上传成功。 
1——上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。 
2——上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 
3——文件只有部分被上传。 
4——没有文件被上传。

6——找不到临时文件夹。

7——没有写权限。



<!--PHP页面 upl.php页面开始-->
<?php
date_default_timezone_set("Asia/Chongqing");
//超级数组
//echo "<pre>";
//var_dump($_FILES);
//echo"</pre>";



//文件上传
if(empty($_FILES)){                //判断文件是否为空
    echo "上传文件过大,请弄清楚哦";
    exit;
}
if($_FILES['tupian']['error']>0){     //判断文件是否出现错误        
    echo "上传文件有误;请检测后再试";                                     
    exit;
}
$allowtype=array('jpg','png','jpeg','gif');       //允许文件上传的后缀名
$mulu="image/";   //创建目录名称
$rs=explode(".",$_FILES['tupian']['name']);          //切割图片名称

   
$houzhui=strtolower($rs[1]);    //取后缀名用小写的方式
if(!in_array($houzhui,$allowtype)){    //如果上传的文件里面没有图片类型
    echo "上传文件非图片";
    exit;
}
//上传文件名叫什么
$newname=date('YmdHis').rand().'.'.$houzhui; //时间再加一个随机数名字肯定不会重名了
$linshi=$_FILES['tupian']['tmp_name'];  //临时的图片名字
$xinmulu=$mulu.$newname;           //新目录
$rs=move_uploaded_file($linshi,$xinmulu);   //移动到新目录中去
if($rs){
    echo "恭喜您,上传成功";
}else{
    echo "上传失败";
}
<!--PHP页面 upl.php页面结束-->


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值