文件上传说明

时间:2014-02-18 15:29:13

标签: php mysql file-upload mysqli

我已经为我的网站上传了一个简单的文件上传内容,方法是将每个文件上传到我的服务器上。但是,现在我希望上传文件的用户还要将文件的描述和上载日期添加到MySQL数据库中。

我现在可以做的就是完成所有这些工作,列出文件或单独列出说明和日期。理想情况下,我想将它全部显示在一个带有日期,描述和文件标题的表中,但我不确定如何将文件链接链接到描述。

如果我不是很清楚,我很乐意再解释一下。

代码: adddocument.php

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

<p>Date:<br><input type="text" name="DocDate" id="datepicker"></p>
<p>Description: (max 100 characters):<br><textarea name="Description" rows="4" cols="50" maxlength="100"></textarea></p> 
<p>File you wish to upload: <br><input type="file" name="file"></p>

    <p><input type="Submit" value="Submit"></p>
</form>

upload.php的

 <?php 
    $name = $_FILES['file']['name'];
    $extension =strtolower(substr($name, strpos($name, '.') + 1));
    $size = $_FILES['file']['size'];
    $max_size= 2097152;
    $type = $_FILES['file']['type'];
    $tmp_name = $_FILES['file']['tmp_name'];

    if (isset($name)) {
        if (!empty($name)) {
        if ($extension=='jpg'||$extension=='jpeg'||$extension=='pdf'||$extension=='docx'||$extension=='doc'){
        if ($size<=$max_size){


        $location='uploads/';
        if (move_uploaded_file($tmp_name, $location.$name)){
        echo 'File has been Uploaded';
        } else {
        echo 'There was an error';
        }
    } else { echo 'File must be 2mb or less';

    }   } else { echo 'Invalid File type';}
    } else {
        echo 'Please chose a file.';
        }
        }

?>
<?php
$con=mysqli_connect("localhost","pytsuemg_brodie","brodie","pytsuemg_brodie");

$sql="INSERT INTO Documents (DocDate, Description)
 VALUES('$_POST[DocDate]','$_POST[Description]')";

 mysqli_query($con, $sql);

 /* commit transaction */
if (!mysqli_commit($con)) {
    print("Transaction commit failed\n");
    exit();
}

/* close connection */

mysqli_close($con);


    ?>

目前我只列出使用此代码上传的所有文件。

<?php
$directory ='uploads';
if ($handle = opendir($directory.'/')){

while ($file = readdir($handle)) {
if ($file!='.'&&$file!='..') {
echo '<a href="'.$directory.'/'.$file.'">'.$file. '</a><br>';
}
}
}
?>

1 个答案:

答案 0 :(得分:1)

您知道文件的位置($location.$name),将该信息存储在数据库表中以及名称和说明中。

使用它来生成文件的URL。