要编写一个文件上传函数,可以使用PHP的内置函数move_uploaded_file()来实现。以下是一个简单的示例:
<?php
function uploadFile($file, $targetDirectory) {
    $targetFile = $targetDirectory . basename($file['name']);
    $uploadOk = 1;
    $fileType = strtolower(pathinfo($targetFile,PATHINFO_EXTENSION));
    // 检查文件类型
    if($fileType != "php" && $fileType != "txt" && $fileType != "pdf") {
        echo "只允许上传 PHP, TXT 或 PDF 文件.";
        $uploadOk = 0;
    }
    // 检查文件大小
    if ($file['size'] > 500000) {
        echo "文件大小超过限制.";
        $uploadOk = 0;
    }
    // 检查文件是否已存在
    if (file_exists($targetFile)) {
        echo "文件已存在.";
        $uploadOk = 0;
    }
    // 检查上传是否成功
    if ($uploadOk == 0) {
        echo "文件上传失败.";
    } else {
        if (move_uploaded_file($file['tmp_name'], $targetFile)) {
            echo "文件上传成功.";
        } else {
            echo "文件上传失败.";
        }
    }
}
?>使用示例:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (isset($_FILES['file'])) {
        uploadFile($_FILES['file'], '/path/to/target/directory/');
    }
}
?>请注意,这只是一个简单的示例,并没有进行完整的文件上传安全性检查和过滤。在实际应用中,您应该根据您的需求添加更多的安全性措施,例如检查文件类型、大小、文件名等,并确保目标目录具有适当的权限。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站