我正在使用这个图像上传器:
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文件。
我以前从未使用过这个文件上传器。不过看了之后,upload.php负责处理上传后的文件。
如果你看这个脚本:
if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.$_FILES['upl']['name'])){
echo '{"status":"success"}';
exit;
}
您可以看到,成功上传后,它会将文件移动到包含的uploads
目录中。此时,您可以扩展此脚本并将$_FILES['upl']['name']
保存到数据库中。您可能需要查看可能的PHP数据库扩展
$('#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正在被调用,并且正在被使用。正如上面的其他人建议的那样,你可以扩展它来获得你需要的上传文件的任何细节。(实际上,我会把任何逻辑放在echo之前。echo是告诉JavaScript一切都很好的东西。)