将上载的图像名称添加到数据库中

时间:2013-07-20 19:41:33

标签: php jquery mysql ajax

我正在使用此图片上传器:

http://www.jotform.org/jquery/ajax-multi-file-upload-with-progress-bar/#more-291

这是jQuery / Ajax,虽然我有它工作但我对这两种语言都知之甚少。我想修改它,以便将所有上传文件的文件名放入数据库。

包含的upload.php文件似乎不起作用,因为我删除了它并且上传器仍在运行。如果需要,那么我可以很容易地编写所需的PHP来完成这项工作。

一个解决方案是在上传完成后执行PHP文件,我该怎么做?

在此感谢任何帮助。

<form id="upload" method="post" action="upload.php" enctype="multipart/form-data">
        <div id="drop">
            Drop Here

            <a>Browse</a>
            <input type="file" name="upl" multiple />
        </div>

        <ul>
            <!-- The file uploads will be shown here -->
        </ul>

    </form>

上面编辑 - 这是上传使用的表单,无论如何我可以使用“isset”来检查它是否已被使用,但是没有提交按钮。

以上代码是我在页面上显示的上传代码,它实际上并没有调用upload.php文件。

2 个答案:

答案 0 :(得分:1)

之前我没有使用过这个文件上传器。看了之后,upload.php负责上传后处理文件。

如果你看一下这个剧本:

if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.$_FILES['upl']['name'])){
    echo '{"status":"success"}';
    exit;
}

您可以看到,在成功上传后,它会将文件移动到包含的uploads目录中。此时您可以扩展此脚本并将$_FILES['upl']['name']保存到数据库中。您可能希望查看可能的PHP database extensions

答案 1 :(得分:1)

$('#upload').fileupload({

    // This element will accept file drag/drop uploading
    dropZone: $('#drop'),

    // This function is called when a file is added to the queue;
    {***SNIP***}

        });

        // Automatically upload the file once it is added to the queue
        var jqXHR = data.submit();
    },

倒数第二行var jqXHR = data.submit();是提交表单的时间。这是AJAX的一部分。由于您删除了upload.php文件,它实际上提供了404.但是,代码编写得很糟糕,并且似乎没有提醒您它无法访问该文件。

尽管如此,upload.php正在被调用,正在使用IS。正如上面提到的其他人一样,您可以扩展它以获取有关所需上载文件的任何详细信息。 (实际上,我会在回声之前放置任何逻辑。这个回声是告诉JavaScript一切都很糟糕的。)