php实现基本的文件上传

文件上传就是客户端把文件上传到服务器的临时目录,然后服务器将文件移动到指定目录的过程。

 

web客户端文件上传必须具备的两点:

1.表单为POST方式提交

2.form添加enctype="multipart/form-data"属性

<form action="upload_file.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="上传">
</form>

 

在服务器端,$_FILES变量可获取上传文件的信息,然后通过move_uploaded_file()移动文件到指定目录即可

<?php 

$file = $_FILES['file'];        /*获取文件信息*/
$tmp_name = $file['tmp_name'];        /*获取临时文件信息*/
$file_name = "upload/".$file['name'];        
/*设置文件的保存路径和名称,这里直接使用原本文件名,实际应用中应该处理一下文件名*/

if($file['error'] == 0){
    //将临时文件移动到指定位置
    if(move_uploaded_file($tmp_name, $file_name)){
        echo $tmp_name;
        echo "上传成功";
    }
    else{
        echo "上传失败";
    }
}
else{
    echo "上传失败,错误代码:".$file['error'];
}

$_FILES['file']['error']的值是文件上传相关的所有错误信息:

0:上传成功;
1:上传文件过大(由php配置文件中的upload_max_filesize指定);
2:上传文件超过表单限制;
3:文件只上传了一部分;
4:没有上传文件;
5:5?不存在的!不要问为什么就是没这个错误代码;
6:没有临时目录;
7:文件写入失败;

也许还有其他错误代码,反正我不知道了~

*文件上传存在安全隐患,一般情况下不应该允许所有人都可以上传文件到服务器。如果允许,应该严格规定上传的文件,包括文件类型,重命名文件名等等。

转载于:https://www.cnblogs.com/ablackcat/p/6916834.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值