将多个文件插入mysql

时间:2013-08-15 05:35:46

标签: pdf insert multipartform-data sql-insert

我正在尝试创建一个表单,我可以选择多个文件(它们将是pdfs)并将文件和文件的名称插入到数据库中。

Html表单效果很好:

<form action="" method="POST" enctype="multipart/form-data">
    <input type="file" name="files[]" multiple/>
    <input type="submit"/>
</form>

但我似乎无法使用php工作:

if(isset($_POST['files[]'])){
        $file_name = $_POST['files[]']['name'];
    $file_size =$_POST['files[]']['size'];
    $file_type=$_POST['files[]']['type'];}
    $query="INSERT INTO upload_data (`FILE_NAME`,`FILE_SIZE`,`FILE_TYPE`) VALUES('$file_name','$file_size','$file_type'); ";     

我也不知道如何插入实际文件,而不仅仅是它的属性。有什么想法吗?

更新:
我有如何上传多个文件,以及多个文件名,但我不能同时做到这两个。仍然需要帮助。代码是:

<form action="" method="POST" enctype="multipart/form-data">
  <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <input type="file" name="files[]" multiple/>
    <input type="submit"/>
</form>

if(isset($_FILES['files'])){    
        foreach ($_FILES['files']['name'] as $filename) {
    $query=mysql_query("INSERT INTO practice (name) VALUES('$filename')", $c) or die("six");
}
}

if(isset($_FILES['files'])){    
        foreach ($_FILES['files'] as $file) {
    $query=mysql_query("INSERT INTO practice (file) VALUES('$file')", $c) or die("six");
}
}

1 个答案:

答案 0 :(得分:0)

要获取有关上传文件的信息,您需要使用$_FILES变量而不是$_POST变量:http://www.php.net/manual/en/features.file-upload.post-method.php