当前位置:首页php > 正文

php如何上传一个压缩文件

作者:野牛程序员:2023-11-13 17:37:08php阅读 2687

使用PHP上传压缩文件的步骤如下:

  1. 创建HTML表单:

    <form action="upload.php" method="post" enctype="multipart/form-data">
        选择文件:<input type="file" name="fileToUpload" id="fileToUpload">
        <input type="submit" value="上传文件" name="submit">
    </form>

  2. 创建PHP上传脚本(upload.php):

    <?php
    $targetDir = "uploads/"; // 指定上传目录
    $targetFile = $targetDir . basename($_FILES["fileToUpload"]["name"]);
    $uploadOk = 1;
    $imageFileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION));
    
    // 检查文件是否为压缩文件
    if(isset($_POST["submit"])) {
        $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
        if($check !== false) {
            echo "文件是一个压缩文件 - " . $check["mime"] . ".";
            $uploadOk = 1;
        } else {
            echo "文件不是一个压缩文件。";
            $uploadOk = 0;
        }
    }
    
    // 检查文件是否已存在
    if (file_exists($targetFile)) {
        echo "抱歉,文件已存在。";
        $uploadOk = 0;
    }
    
    // 检查文件大小,这里设置最大文件大小为 5MB
    if ($_FILES["fileToUpload"]["size"] > 5000000) {
        echo "抱歉,文件太大。";
        $uploadOk = 0;
    }
    
    // 允许的文件格式,可以根据需要添加或修改
    $allowedFormats = array("zip", "rar", "tar");
    if (!in_array($imageFileType, $allowedFormats)) {
        echo "抱歉,只允许上传 ZIP、RAR 或 TAR 文件。";
        $uploadOk = 0;
    }
    
    // 检查上传状态
    if ($uploadOk == 0) {
        echo "抱歉,文件未上传。";
    } else {
        if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) {
            echo "文件 " . basename($_FILES["fileToUpload"]["name"]) . " 上传成功。";
        } else {
            echo "抱歉,文件上传时出现错误。";
        }
    }
    ?>

    请确保 uploads 目录存在且具有写入权限,用于存储上传的文件。这是一个基本的例子,可以根据需要进行修改和扩展。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击