2011-07-24 7 views
0

私は、ユーザーが自分のサイトにファイル(HTML)をアップロードできるようにする非常に簡単な方法を探しています。私はpluploadやuploadifyのようなものを試しましたが、実装するのは難しいようです。そこには簡単な解決策はありますか?複数のファイルを簡単にアップロードできるようにするにはどうすればよいですか?

+1

アップロードが簡単で使いやすいと判明したのは何ですか? –

+0

私はpluとuplodifyの両方を使用しているだけでなく、あなたの問題が何であったかを聞きたいのですが、それらは簡単でバギーではないようです。 – Wil

+0

これは、あまりにも広すぎてStack Overflowがそのままではありません。まだ何か試しましたか?私たちはあなたが立ち往生したときにあなたを助けるためにここに来ましたが、話題になるためには、この質問はライブラリのリストより少しだけ要請する必要があります。あなたが名前を挙げたことで、どんな具体的な問題がありましたか? –

答えて

1

私は最近、実際にこの問題に取り組んでいます。悪いことに、私が書いたコードを使用しましょう。それは、ユーザーが1つのファイルをブラウズするとすぐに、別のアップロードボックスがポップアップするなどです。そして、私は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のを見上げて。注:編集する必要があります! phpmailerを検索し、class.phpmailer.cssクラスをダウンロードしてください。ファイル内のconfigsを編集します。ディレクトリを作成し、アップロードします。

<?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);} 
} 










?> 

ご不明な点がありましたら教えてください。

+0

助けていただきありがとうございますが、ファイルを追加した後、何が起こると思われますか?私はアップロードフォルダを作成しましたが、process.phpファイルとclass.phpmailer.phpファイルを追加してもまだ動作しませんでした。これを機能させるためには何が必要ですか? –

+0

@ Peteまあ、私があなたに与えたhtmlは、process.phpというフォームタグの中に入るべきです...あなたはそれをしましたか? process.phpには、 '' php require( "css/class.phpmailer.php");が正しいパスであることを確認する通知があります! –

関連する問題