php文件上传

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文件上传</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
    <h1>文件上传</h1>
    <input type="file" name="file" accept="image/jpeg,image/png,image/gif,image/jpg">
    <input type="hidden" name="MAX_FILE_SIZE" value="2000000">
    <br>
    <input type="submit" value="上传">
</form>
</body>
</html>
<?php
header('content-type:text/html;charset=utf-8');
ini_set('date.timezone','PRC');
//获取文件拓展名的函数
function ext($filename){
    return strtolower(substr(strrchr($filename,'.'),1));
}
//生成随机文件名的函数
function fname(){
    return md5(uniqid(microtime(true),true));

}
//递归创建文件目录
function dirs($dirname){
    if (!is_dir($dirname)){
        mkdir($dirname,0777,true);
        return true;
    }else{
        dir(dirname($dirname));
        mkdir($dirname,0777,true);
    }
}
echo '<pre>';

$file = $_FILES['file'];
//文件上传错误判断
switch($file['error']){
    case 0: $msg = '文件上传正确';
            break;
    case 1: $msg = '文件超过了php.ini中允许上传的最大值';
            break;
    case 2: $msg = '文件超过了表单隐藏域中MAX_FILE_SIZE的值';
            break;
    case 3: $msg = '文件部分被上传';
            break;
    case 4: $msg = '没有选择文件';
            break;
    case 6: $msg = '找不到文件临时目录';
            break;
    case 7: $msg = '文件写入失败';
}
echo $msg;
if ($file['error']==0){
    //开始文件上传
    $filename = fname(); //唯一文件名
    $ext = ext($file['name']);//文件拓展名
    $allowExt = array('jpg','png','jpeg','gif','zip');
    if (!in_array($ext,$allowExt)){
        echo '文件格式错误';
        exit;
    }
    $newfile = $filename.'.'.$ext;
    $uploadDir ='./uploads/'.date('Ymd').'/'.date('His').'/';
//    var_dump(dirs($uploadDir));exit;
    if (!dirs($uploadDir)){
        echo '目录创建失败';
        exit;
    }
    if (!is_uploaded_file($file['tmp_name'])){
        echo '文件不是HTTPpost上传的';exit;
    }
    if (!move_uploaded_file($file['tmp_name'],$uploadDir.$newfile)){
        echo '文件上传失败';
    }
    else{
        echo '文件上传成功';
    }



}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文件是网站开发中常用的功能之一,PHP文件类可以帮助我们实现文件功能。当用户需要上文件时,可以使用PHP文件类来处理文件的逻辑。PHP文件类可以实现对上文件的各种验证,例如文件类型、大小、保存路径等。通过使用PHP文件类,可以让文件变得更加安全、简单和高效。 PHP文件类可以通过封装上文件的函数来实现文件的上和下载。上文件的功能通过对文件的验证和处理,将文件保存到服务器指定的位置。而下载文件的功能通过设置文件的下载头信息,实现对指定文件的下载操作。PHP文件类还可以处理文件重名、文件大小限制、文件类型限制等问题,保证文件过程中的安全性和完整性。 在使用PHP文件类的过程中,需要注意对上文件的安全性进行严格的检查,避免出现恶意文件或者文件被非法下载的情况。同时,需要确保服务器环境对文件和下载的操作进行了正确的配置,以确保文件和下载功能的正常运行。 总的来说,PHP文件类可以极大地方便我们在网站开发中对文件的上和下载操作,帮助我们完成文件处理的各种功能。无论是图片、文档还是音视频文件PHP文件类都可以帮助我们完成文件和下载功能,为网站的用户提供更好的使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值