Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > การสร้างฟร์อมส่งเมลครับ เรื่องการแนบไฟล์ มากกว่า 1 ไฟล์



 

การสร้างฟร์อมส่งเมลครับ เรื่องการแนบไฟล์ มากกว่า 1 ไฟล์

 



Topic : 052209



โพสกระทู้ ( 419 )
บทความ ( 0 )



สถานะออฟไลน์




การสร้างฟร์อมส่งเมลครับ เรื่องการแนบไฟล์ มากกว่า 1 ไฟล์
คือผมหาข้อมูลจากหลายๆที่แล้ว code การส่งเมลล์มีมากเลยครับครับพร้อมการแนบไฟล์ด้วยแต่ การแนบไฟล์ทีละหลายไฟล์มีน้อยมากและข้อมูลก็มีน้อยเลยอยากเข้ามาถามผู้รู้ครับ ที่ผมต้องการคือ

อย่าง ที่บอกครับต้องการแนบไฟล์มากกว่า 1 ไฟล์ โดยแบบว่าทำแบบเว็บส่งเมลล์ทั่วไปอะครับ โดยต้องการแนบไฟล์ก็กด Browse... เสร็จกด เพิ่ม ไฟล์นั้นก็รออยู่ จะขึ้นเป็นชื่อไฟล์ด้านบน Browse ก็ได้คับต้องการแนบเพิ่มก็กด Browse... อีกครับ โดยไม่ต้องสร้างตัว Browse... มารอ user เลยอะครับ เพราะเราไม่รู้ว่า user ต้องการ Browse กี่ไฟล์

ผมข้อเป็นตัวอย่างหรือคอนเซ็ป ก็ได้ครับ ถ้าเป็นตัวอย่าง หน้าฟร์อมได้ยิ่งดีเลยครับ

ขอขอบคุณล่วงหน้าเลยครับ



Tag : PHP, JavaScript







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-11-25 09:30:03 By : aimoomoo View : 1965 Reply : 6
 

 

No. 1



โพสกระทู้ ( 74,059 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP Sending Email</title>
</head>
<body>
<?
	$strTo = "[email protected]";	
	$strSubject = "Test Send Mail";
	$strMessage = "My Body & <b>My Description</b>";

	//*** Uniqid Session ***//
	$strSid = md5(uniqid(time()));

	$strHeader = "";
	$strHeader .= "From: Mr.Weerachai Nukitram<[email protected]>\nReply-To: [email protected]\n";
	$strHeader .= "Cc: Mr.Surachai Sirisart<[email protected]>";
	$strHeader .= "Bcc: [email protected]";

	$strHeader .= "MIME-Version: 1.0\n";
	$strHeader .= "Content-Type: multipart/mixed; boundary=\"".$strSid."\"\n\n";
	$strHeader .= "This is a multi-part message in MIME format.\n";

	$strHeader .= "--".$strSid."\n";
	$strHeader .= "Content-type: text/html; charset=windows-874\n"; // or UTF-8 //
	$strHeader .= "Content-Transfer-Encoding: 7bit\n\n";
	$strHeader .= $strMessage."\n\n";
	
	//*** Attachment Files ***//
	$arrFiles[] = "thaicreate1.txt";
	$arrFiles[] = "thaicreate2.txt";
	$arrFiles[] = "thaicreate3.txt";
	$arrFiles[] = "thaicreate4.txt";
	$arrFiles[] = "thaicreate5.txt";

	for($i=0;$i<count($arrFiles);$i++)
	{
		if(trim($arrFiles[$i]) != "")
		{
			$strFilesName = $arrFiles[$i];
			$strContent = chunk_split(base64_encode(file_get_contents($strFilesName))); 

			$strHeader .= "--".$strSid."\n";
			$strHeader .= "Content-Type: application/octet-stream; name=\"".$strFilesName."\"\n"; 
			$strHeader .= "Content-Transfer-Encoding: base64\n";
			$strHeader .= "Content-Disposition: attachment; filename=\"".$strFilesName."\"\n\n";
			$strHeader .= $strContent."\n\n";
		}
	}
		

	$flgSend = @mail($strTo,$strSubject,null,$strHeader);  // @ = No Show Error //
	if($flgSend)
	{
		echo "Email Sending.";
	}
	else
	{
		echo "Email Can Not Send.";
	}
?>
</body>
</html>


Go to : PHP Sending Email Attachment Files






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-25 10:01:04 By : webmaster
 


 

No. 2



โพสกระทู้ ( 419 )
บทความ ( 0 )



สถานะออฟไลน์


พี่วินครับ ขอตัวอย่างตรงฟร์อม ได้ไหมครับ ตรงนี้อะครับ
Quote:
โดยแบบว่าทำแบบเว็บส่งเมลล์ทั่วไปอะครับ โดยต้องการแนบไฟล์ก็กด Browse...
เสร็จกด เพิ่ม ไฟล์นั้นก็รออยู่ จะขึ้นเป็นชื่อไฟล์ด้านบน Browse ก็ได้คับต้องการแนบเพิ่มก็กด
Browse... อีกครับ โดยไม่ต้องสร้างตัว Browse... มารอ user เลยอะครับ เพราะเราไม่รู้ว่า user ต้องการ Browse กี่ไฟล์


ปล. รูปพี่หล่อดีนะครับ


ประวัติการแก้ไข
2010-11-25 10:05:34
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-25 10:05:10 By : aimoomoo
 

 

No. 3



โพสกระทู้ ( 419 )
บทความ ( 0 )



สถานะออฟไลน์


รบกวนพี่วินหน่อยนะครับ ที่ผมถามมาข้างต้นผมทำได้หมดแหละครับ

ตอนนี้ปัญหาอยู่ที่ตอนส่งแล้วครับ ข้อมูลไปหมดครับ แต่ไฟล์แนบก็ไปเหมือนกันนะครับแต่ มันเปิดไม่ได้อะครับ เหมือนไฟล์มันเสียอะครับ

อันนี้เป็น code บางส่วน ช่วยดูหน่อยครับ เข้าจะตรวจสอบงานพรึ่งนี้แหละ ขอบคุณครับ

Code (PHP)
$boundary = md5(uniqid(time()));
 $strHeader = "From: " . $_POST[from_email] . "\n";
 $strHeader .= "Content-Type: multipart/mixed; boundary=$boundary\n";
 $body = "--$boundary\n";
 $body .= "Content-Type: text/plain; charset=windows-874\n";
 $body .= "Content-Transfer-Encoding: 8bit\n\n";
 $body .= $_POST['message'] . "\n";
 $body .= "--$boundary\n";
 
 foreach ($_SESSION['session_files_up'] as $itemnumber =>$files_up_show) {
 $file_tmpname =$files_up_show['tmp_name'];// $_FILES['uploadfile']['tmp_name'];
 $file = fopen($file_tmpname,"rb");
 $file_content = fread($file ,filesize($file_tmpname));
 fclose($file);
 $b64_enc = base64_encode($file_content) . "\n";
 $file_split = chunk_split($b64_enc);
 $mime_type = $files_up_show['name_type'];//$_FILES['uploadfile']['type'];
 $file_name = $files_up_show['name_files'];//$_FILES['uploadfile']['name']; 
 $body .= "Content-Type: $mime_type; name=\"$file_name\"\n";
 $body .= "Content-Transfer-Encoding: base64\n";
 $body .= "Content-Disposition: attachment; filename=\"$file_name\"\n\n";
 $body .= "$file_split\n";

 $body .= "--$boundary--";
 }
		$flgSend = @mail($strTo,$strSubject,$body,$strHeader);  // @ = No Show Error //
		if($flgSend){
		echo "$id_std ถูกส่งแล้ว <br>";	
		}else{
		echo "$id_std ไม่สามารถส่งได้  <br>";
		}


ผมนำ code ที่พี่ให้มาประยุกนิดหน่อยครับ

$files_up_show['tmp_name'];
$files_up_show['name_type'];
$files_up_show['name_files'];

มาจาก session array ครับ โดย ใช้ foreach วนแทน for ของพี่อะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-25 16:16:49 By : aimoomoo
 


 

No. 4



โพสกระทู้ ( 419 )
บทความ ( 0 )



สถานะออฟไลน์


พี่วินช่วยดูหน่อยครับ นี่ code ล่าสุด

Code (PHP)
 $boundary = md5(uniqid(time()));
 $strHeader = "From: " . $_POST[from_email] . "\n";
 $strHeader .= "Content-Type: multipart/mixed; boundary=$boundary\n";
 $body = "--$boundary\n";
 $body .= "Content-Type: text/plain; charset=windows-874\n";
 $body .= "Content-Transfer-Encoding: 8bit\n\n";
 $body .= $_POST['message'] . "\n";
 foreach ($_SESSION['session_files_up'] as $itemnumber =>$files_up_show) {
$mime_type = trim($files_up_show['name_type']);//$_FILES['uploadfile']['type'];
$file_name = trim($files_up_show['name_files']);//$_FILES['uploadfile']['name'];
 $file_split = chunk_split(base64_encode(file_get_contents($file_name))); 
 $body .= "--".$boundary."\n";
 $body .= "Content-Type: application/octet-stream; name=\"".$file_name."\"\n"; 
 $body .= "Content-Transfer-Encoding: base64\n";
 $body .= "Content-Disposition: attachment; filename=\"".$file_name."\"\n\n";
 $body .=  $file_split."\n\n";
}

		$flgSend = @mail($strTo,$strSubject,$body,$strHeader);  // @ = No Show Error //
		if($flgSend){
		echo "$id_std ถูกส่งแล้ว <br>";	
		}else{
		echo "$id_std ไม่สามารถส่งได้  <br>";
		}



ประวัติการแก้ไข
2010-11-26 14:59:57
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-26 13:37:39 By : aimoomoo
 


 

No. 5



โพสกระทู้ ( 419 )
บทความ ( 0 )



สถานะออฟไลน์


ขนาดของไฟล์มันก็น้อยมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-26 15:19:40 By : aimoomoo
 


 

No. 6



โพสกระทู้ ( 419 )
บทความ ( 0 )



สถานะออฟไลน์


ไม่มีใครตอบเลย อะอย่างน้อยช่วยดูหน่อยว่า error นี้น่าจะเกิดจากอะไร


Warning: fopen(C:\WINDOWS\Temp\phpA3.tmp) [function.fopen]: failed to open stream: No such file or directory in C:\AppServ\www\mail\send_mail2.php on line 44

Warning: filesize() [function.filesize]: stat failed for C:\WINDOWS\Temp\phpA3.tmp in C:\AppServ\www\mail\send_mail2.php on line 45

Warning: fread(): supplied argument is not a valid stream resource in C:\AppServ\www\mail\send_mail2.php on line 45

Warning: fclose(): supplied argument is not a valid stream resource in C:\AppServ\www\mail\send_mail2.php on line 46


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-26 16:41:18 By : aimoomoo
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การสร้างฟร์อมส่งเมลครับ เรื่องการแนบไฟล์ มากกว่า 1 ไฟล์
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่