php - jQuery Fileupload和写入文件名做MySQL数据库

标签 php jquery mysql

我正在尝试使用 jQuery 创建一个文件 uploader ,它上传一个文件,用时间戳重命名它并将它注册到数据库中。基本上它将带有表单的文件发送到服务器,在服务器上第二个脚本重命名它并将文件移动到正确的目录。这没有任何问题。问题是,我还想发送应该创建此数据库条目的表名。

因此 index.php 包含以下形式:

<div id="uploaderMain">
        <p>Upload Your Files</p>
        <form method="post" enctype="multipart/form-data"  action="./upload.php">
            <input type="file" name="images" id="images" />
            <input type="hidden" name="List" id="List" value="<?php echo $DBTable; ?>" />
            <button type="submit" id="btn">Upload Files!</button>
        </form>

    <div id="response"></div>
        <ul id="image-list">
        </ul>
    </div>

jQuery 代码如下所示:

$.ajax({
    url: "./uploader/upload.php",
    type: "POST",
    data: formdata,
    processData: false,
    contentType: false,
    success: function (res) {
        document.getElementById("response").innerHTML = res;
        }
      });

upload.php 看起来像这样:

   <?php
//include db configuration file

include_once('../../db.php');

$List = $_POST['List'];

// get the time stamp for the uploaded file
date_default_timezone_set('EST');
$date = new DateTime();
$date = $date->getTimestamp();
// echo $date;


foreach ($_FILES["images"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $name = $_FILES["images"]["name"][$key];
        // store the file name and the file ending in 2 variables
        $fileEnding = substr($name, -4,4);
        $fileName = substr($name, 0, (strlen($name)-4));
        $uploadName =  $fileName."_".$date.$fileEnding;
        move_uploaded_file( $_FILES["images"]["tmp_name"][$key], "./uploads/" . $uploadName);
    }
}

之后我想写入数据库。问题是 $_POST['LIST'] 语句没有提供我的 DBTable 名称。

谁能给我一个提示?

干杯 丹

最佳答案

我认为您需要将此添加到您的 jQuery 代码中:

formdata.append('List', '[your value]');

请注意:在 PHP 中,所有文件都将放入 $_FILES 中。其他一切都将进入 $_POST。

如果这不起作用,请确保您还有以下代码:

var formdata = new FormData();          
jQuery.each($('input[type="file"]')[0].files, function(i, file) {
    formdata.append(i, file);
});

关于php - jQuery Fileupload和写入文件名做MySQL数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14920317/

相关文章:

php - 如何获取 SQL 选择查询返回的行数?

javascript - 将 css 编辑为 event.target

php - 从 PHP 创建存储过程

c++和MySQL的连接

php - 如何配置 SPF 和 DKIM 以防止邮件进入垃圾邮件文件夹

php - 如果设置了所有值,则插入 mysql 查询

php - 在较新的安装中使用 Symfony 项目

javascript - 如何在 yii2 中使用 php jquery?

javascript - Jquery分隔十进制数

php - PDO::last Insert Id 总是返回 0 与 MYSQL 和 prepare 语句一起使用