php - 将文件从webserver保存到数据库中

时间:2017-08-07 18:11:25

标签: php mysql mysqli

在我的程序中,我尝试创建一个用户可以上传和下载文件的网站。我创建了页面,用户可以将文件上传到网络服务器。现在我不知道如何让用户再次下载他的文件。我需要将其保存到数据库中吗?

的index.html:

<form enctype="multipart/form-data" action="upload_file.php" method="post">

Select File: <br>

<input name="file" type="file" id="file" size="80"> <br>
<input type="submit" id="u_button" name="u_button" value="Upload File">

</form>

upload_file.php:

<?php
    $file_result ="";

    if($_FILES["file"]["error"] > 0){
        $file_result .= "No File Uploaded";
        $file_result .= "Error Code: " . $_FILES["file"]["error"] . "<br>";
    } 
    else {
        $file_result .=
        "Upload: " . $_FILES ["file"] ["name"] . "<br>" .
        "Type: " . $_FILES ["file"] ["type"] . "<br>" .
        "Size: " . ($_FILES ["file"] ["size"] / 1024) . " Kb<br>" .
        "Tempfile: " . $_FILES ["file"] ["tmp_name"] . "<br>";

        move_uploaded_file($_FILES["file"]["tmp_name"],"xxx/uploads/" .$_FILES["file"]["name"]);

        $file_result .= "File Upload sucessful";
    }
?>

1 个答案:

答案 0 :(得分:0)

您将文件上传到目录是正确的;你可能想要做的就是将(字符串)文件路径保存到数据库中。这将比在DB中实际存储文件快得多。确保文件目录只能由Web服务器进程读/写。