[英]How can I easily allow users to upload multiple files?
I'm looking for a very easy way to allow users to upload files (html) to my site. 我正在寻找一种非常简单的方法来允许用户将文件(html)上传到我的网站。 I've tried things like plupload and uploadify and they seem to difficult to implement/buggy.
我尝试了诸如plupload和uploadify之类的东西,它们似乎难以实现/笨拙。 Are there any simple solutions out there?
有没有简单的解决方案?
I actually just worked on this issue recently. 实际上,我最近才刚刚处理此问题。 Ill let you use my code i wrote.
虐待让您使用我编写的代码。 What it does is as soon as a user browses for one file, another upload box pops up and so on and so on.
它的作用是,用户浏览一个文件,弹出另一个上传框,依此类推。 And then, i use phpmailer to send the files as email attachments.
然后,我使用phpmailer将文件作为电子邮件附件发送。 Look up phpmailer for more details...
查找phpmailer了解更多详细信息...
The javascript to add more upload fields.. (put in HEAD) 添加更多上传字段的javascript。(放入HEAD)
<script type="text/javascript">
function addElement()
{
var ni = document.getElementById('org_div1');
var numi = document.getElementById('theValue');
var num = (document.getElementById('theValue').value -1)+ 2;
numi.value = num;
var newDiv = document.createElement('div');
var divIdName = num; newDiv.setAttribute('id',divIdName);
newDiv.innerHTML = '<input type="file" class="fileupload" size="80" name="file' + (num) + '" onchange="addElement()"/> <a class="removelink" onclick=\'removeElement(' + divIdName + ')\'>Remove This File</a>';
// add the newly created element and it's content into the DOM
ni.appendChild(newDiv);
}
function removeElement(divNum)
{
var d = document.getElementById('org_div1');
var olddiv = document.getElementById(divNum);
d.removeChild(olddiv);
}
</script>
The HTML.. HTML ..
<div id="org_div1" class="file_wrapper_input">
<input type="hidden" value="1" id="theValue" />
<input type="file" class="fileupload" name="file1" size=
"80" onchange="addElement()" /></div>
The process.php page. process.php页面。 NOTE: MUST EDIT!!!
注意:必须编辑!!! Search phpmailer and download their class.phpmailer.css class.
搜索phpmailer并下载其class.phpmailer.css类。 Edit the configs in the file.
编辑文件中的配置。 Create and "uploads" directory.
创建并“上传”目录。
<?php
require("css/class.phpmailer.php");
//Variables Declaration
$name = "Purchase Form";
$email_subject = "New Purchase Ticket";
$body = "geg";
foreach ($_REQUEST as $field_name => $value){
if (!empty($value)) $body .= "$field_name = $value\n\r";
}
$Email_to = "blank@blank.com"; // the one that recieves the email
$email_from = "No reply!";
//
//==== PHP Mailer With Attachment Func ====\\
//
//
//
$mail = new PHPMailer();
$mail->IsQmail();// send via SMTP MUST EDIT!!!!!
$mail->From = $email_from;
$mail->FromName = $name;
$mail->AddAddress($Email_to);
$mail->AddReplyTo($email_from);
foreach($_FILES as $key => $file){
$target_path = "uploads/";
$target_path = $target_path .basename($file['name']);
if(move_uploaded_file($file['tmp_name'], $target_path)) {
echo "the file ".basename($file['name'])." has been uploaded";
}else {
echo "there was an error";
}
$mail->AddAttachment($target_path);
}
$mail->Body = $body;
$mail->IsHTML(false);
$mail->Subject = $email_subject;
if(!$mail->Send())
{ echo "didnt work";
}
else {echo "Message has been sent";}
foreach($_FILES as $key => $file){
$target_path = "uploads/";
$target_path = $target_path .basename($file['name']);
unlink($target_path);}
}
?>
Let me know if you have any questions!! 如果您有任何问题,请告诉我!!
Check out the jQuery Mulitple File Upload Plugin . 查看jQuery Mulitple File Upload Plugin 。 The Uploading multiple files page in the PHP documentation will give you an idea what the submitted result looks like and some examples for working with it.
PHP文档中的“ 上传多个文件”页面将使您了解提交的结果的外观以及一些使用该结果的示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.