我正在尋找一種非常簡單的方法來允許用戶將文件(html)上傳到我的網站。我嘗試了plupload和uploadify之類的東西,他們似乎很難實現/ buggy。那裏有沒有簡單的解決方案?如何輕鬆地讓用戶上傳多個文件?
回答
我其實剛剛在這個問題上最近工作。我讓你用我寫的代碼。它的功能是一旦用戶瀏覽一個文件,另一個上傳框彈出,等等。然後,我使用phpmailer將這些文件作爲電子郵件附件發送。查找PHPMailer的更多細節...
添加更多的上傳域。(放在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>
的HTML中的JavaScript ..
<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>
的process.php頁。注意:必須編輯!搜索phpmailer並下載他們的class.phpmailer.css類。編輯文件中的配置。創建並「上傳」目錄。
<?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 = "[email protected]"; // 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);}
}
?>
讓我知道如果您有任何問題!
感謝您的幫助,但添加文件後,會發生什麼?我創建了上傳文件夾,但是當我添加process.php文件和class.phpmailer.php文件時,它仍然無法工作。我需要做些什麼才能使其發揮作用? –
@Pete那麼我給你的html應該在action.php的表單標籤內...你是否這樣做?並且在process.php中,notice是「php require(」css/class.phpmailer.php「);'確保它是正確的路徑! –
查看jQuery Mulitple File Upload Plugin。 PHP文檔中的Uploading multiple files頁面可以讓你瞭解提交的結果是什麼樣的,以及一些使用它的例子。
- 1. 如何輕鬆地讓用戶看不到Java應用程序?
- 2. 如何輕鬆地將變量傳遞給.sass文件?
- 3. 如何讓用戶選擇多個文件上傳?
- 4. 如何輕鬆測試Yii模型中的文件上傳?
- 5. 如何輕鬆上傳最新修改的文件?
- 6. 如何讓Spotlight更輕鬆地自定義iOS應用程序
- 7. 如何更輕鬆地使用reCAPTCHA?
- 8. 如何輕鬆地Excel文件中使用C#
- 9. 如何輕鬆,透明地將gzip文件提供給用戶的瀏覽器?
- 10. 如何輕鬆編輯.conf文件?
- 11. 如何輕鬆地覆蓋/更改多個php變量
- 12. 如何輕鬆上傳沒有表單提交(使用jQuery + AJAX)文件
- 13. 如何輕鬆地將文本附加到服務器上的現有文件?
- 14. 如何通過SFTP輕鬆比較本地和遠程文件
- 15. 如何輕鬆地交換Maven設置配置文件?
- 16. 如何輕鬆地可視化矩陣?
- 17. 如何輕鬆地處理在WPF
- 18. 如何輕鬆地重新排序TabControl?
- 19. 如何更輕鬆地編輯內容?
- 20. 多用戶文件上傳
- 21. 如何輕鬆地編寫帶變量的多行文件(python 2.6)?
- 22. 如何輕鬆更改包含多個文件的應用程序的名稱?
- 23. Python跨多個類和文件記錄;如何配置以便輕鬆禁用?
- 24. 如何輕鬆地從孩子傳遞數據reactjs根?
- 25. 如何在Heroku上部署時輕鬆地寫入日誌文件?
- 26. 如何在MacOS上輕鬆打開lua文件?
- 27. 如何在本地Visual C++中輕鬆使用COM組件
- 28. 快速輕鬆地從一個文件加載所需內容?
- 29. 如何用expressjs上傳多個文件?
- 30. 如何在Visio的多個頁面上輕鬆打印多個圖層
我發現uploadify易於使用,具體問題是什麼? – 2011-07-24 02:30:56
我想聽聽你的問題,以及我已經使用plu和uplodify,他們看起來很容易,而不是所有的bug。 – Wil
這對Stack Overflow來說有點過於寬泛。你嘗試過什麼嗎?當你陷入困境時,我們會在這裏幫助你,但是爲了討論主題,這個問題需要徵集一些比圖書館更多的東西。你提到的是什麼具體問題? –