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,037

HOME > PHP > PHP Forum > อัพโหลดไฟล์ภาษาไทย โดยเข้ารหัส ด้วยฟังก์ชัน md5() และให้ถอดรหัส ก่อนดาวน์โหลด นี่ ผมไม่เข้าใจสักเลย งง ช่วยหน่อยครับ



 

อัพโหลดไฟล์ภาษาไทย โดยเข้ารหัส ด้วยฟังก์ชัน md5() และให้ถอดรหัส ก่อนดาวน์โหลด นี่ ผมไม่เข้าใจสักเลย งง ช่วยหน่อยครับ

 



Topic : 119551



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



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




ประมาณว่า ผมมีไฟล์งานที่เป็นภาษาไทย พออัพโหลดเสร็จแล้ว ไฟล์กลับเป็ยอย่างนี้ เธšเธ—เธ„เธฑเธ”เธขเนˆเธญ เน€เธ”เธดเธก.docx เลยมีคนแนะนำให้เข้ารหหัส ด้วยฟังก์ชัน md5() คือ ผมนั้นไม่ได้เรียนแล้วพอศึกษาเองเกิด งง อยากจะถามว่ามันเข้ารหัสยังไงครับ

Code (PHP)
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<style>
body {
background: url('images/bg.jpg') top center ;
background-attachment:fixed;
background-size: 100%;
background-origin: content;
background-repeat: no-repeat;
}
</style>
<?php 
include "class.resizepic.php";
$db = new mysqli("localhost", "root", "123456", "dbboard");
$db->set_charset('utf8');

if(isset($_POST['Submit'] ))
{
	$num_file = count($_FILES['file']['name']);
	$select = false;
	$count = 0;
	for($i = 0; $i < $num_file ; $i++)
	{
		if($_FILES['file']['error'][$i] != 0) 
		{
		    $count++;
			continue;
		}
		if($_FILES['file']['name'][$i] != "")
		{
			$Filename = $_FILES['file']['name'][$i];
			$originalFilename = $_FILES['file']['name'][$i];
			$type = $_FILES['file']['type'][$i];
			
			// .gif, .png, .jpg, .zip, .docx, .pdf, .doc, .swf, .rar
			if ( $type == "image/gif") {$pic_type = 'GIF'; }
			else if ($type == "image/png") {$pic_type = 'PNG'; }
			else if (($type == "image/jpg") or ($type=="image/jpeg") or ($type == "image/pjpeg")) {$pic_type = 'JPG'; }
			else if ($type == "application/octet-stream") {$pic_type = false;}
			else if ($type == "application/vnd.openxmlformats-officedocument.wordprocessingml.document") {$pic_type = false;}
			else if ($type == "application/pdf") {$pic_type = false;}
			else if ($type == "application/msword") {$pic_type = false;}
			else if ($type == "application/x-shockwave-flash") {$pic_type = false;}
			else if ($type == "application/octet-stream") {$pic_type = false;}
			
	
			if(move_uploaded_file($_FILES['file']['tmp_name'][$i], "fileUpload/".$Filename)){
			
			if($pic_type){
					$original_image = "fileUpload/". $Filename ; 
					$pic_size = getimagesize($original_image);
					$desired_width = 250 ;
					$per_div = abs($desired_width - $pic_size[0]) * 100 / $pic_size[0];
					$desired_height = $pic_size[0] > $desired_width ?  $pic_size[1] - floor( $pic_size[1] * $per_div / 100) : $pic_size[1] + floor( $pic_size[1] * $per_div / 100);
					$image = new hft_image($original_image);
					$image->resize($desired_width, $desired_height, '0');
					$image->output_resized("fileUpload/".$Filename, "JPG");
				}
				
						$sql = $db->query("INSERT INTO files (original_file_name , file_name) VALUES ('{$originalFilename}' , '{$Filename}') ");
				if($sql)
				{
			 		echo "<H3><CENTER><br><br><br><br><br><img src='images/thumbsup.png' width='256px' height='161px'></CENTER></H3>";
			 		echo "<META HTTP-EQUIV=refresh CONTENT=\"0; page_admin.php\">";
					$upload_true = true;
			 	}else{
			 		echo "<H3>ERROR:Can not Upload</H3>";
				 }
			}
		}else{
			$count++;
		}
	}
}
?>


ขอความคิดเห็นหน่อยครับ คือ จะเอา md5() ใส่ตรงไหนดีแล้วแก้ยังไงให้มัน insert ครับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-10-25 21:34:17 By : NuItMaster View : 1632 Reply : 6
 

 

No. 1



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



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

การเข้ารหัสด้วย md5 มันจะได้อักษรมา 32 ตัวครับ ไม่ได้ทำให้เป็นภาษาไทย เพราะมันทำไม่ได้ (ผมไม่เคยทำได้ อาจจะทำได้ก็ได้)

เมื่อเก็บเป็นภาษาไทยไม่ได้ ก็เลยใช้วิธีแปลงให้เป็นชื่ออื่น การแปลงเป็นชื่ออื่น ก็อาจะมีการซ้ำกันได้
เลยใช้ การ encrypt ด้วย md5 ซึ่งจะทำให้โอกาสชื่อไฟล์ซ้ำน้อยลงไป แต่ก็มีโอกาสซ้ำได้เหมือนกัน

อย่าไปคิดมากเลยครับ รอติดตั้ง php 6 ก่อนก็แล้วกันครับ เขาว่ากันว่า ใช้ save เป็น utf-16 ได้
เพราะ ชื่อไฟล์ เขาเก็บด้วย utf-16 ครับ ยังหาตัวโปรแกรมที่จัดการด้านนี้ ไม่ได้( อาจจะมีแต่หาไม่เจอ)


ปล.แก้ไขนิดหน่อย มีพวกบ้าคอยจับผิดคำพูดอยู่ผิดนิดผิดหน่อยเป็นไม่ได้








ประวัติการแก้ไข
2015-10-26 13:54:56
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-25 22:06:21 By : NewbiePHP
 


 

No. 2



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



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


อะ หวังว่าจะได้แล้วนะครับ ผมแนะนำว่าให้คุณทำความเข้าแต่ละบรรทัดเลย ว่าบรรทัดนั้นๆ ทำงานอะไร จำเป็นหรือไม่ ทำความเข้าใจในที่นี้คือหาข้อมูลจนกว่าจะเข้าใจ ถ้ายังไมาเข้าใจ ก็อ่านจนกว่าจะเข้าใจ แล้วมันจะติดตัวคุณไปตลอด มีผู้มีพระคุณของผมเคยบอกว่า "งานคือครู งานและอุปสรรคจะสอนเราเอง"

Code (PHP)
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<style>
body {
background: url('images/bg.jpg') top center ;
background-attachment:fixed;
background-size: 100%;
background-origin: content;
background-repeat: no-repeat;
}
</style>
<?php 
include "class.resizepic.php";
$db = new mysqli("localhost", "root", "123456", "dbboard");
$db->set_charset('utf8');

if(isset($_POST['Submit'] ))
{
	$num_file = count($_FILES['file']['name']);
	$select = false;
	$count = 0;
	for($i = 0; $i < $num_file ; $i++)
	{
		if($_FILES['file']['error'][$i] != 0) 
		{
		    $count++;
			continue;
		}
		if($_FILES['file']['name'][$i] != "")
		{
			
			#ฟังก์ชั่นนี้ใช้สำหรับ Rename ชื่อไฟล์ที่ทำการอัพโหลดใหม่ รับค่า $_FILES['file']['name']
			#ผลลัพธิ์จะได้ เช่น รับค่า ทดสอบ.docx ฟังก์ชั่นจะส่งค่ามาเป็น Acdeq12345678.docx เป็นต้น
			function getNewName($fileName){
				$fileName = explode('.',$fileName);
				$i = count($fileName)-1;
				$fileType = strtolower($fileName[$i]);
				$rand = substr(str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789'),0,5);
				$result = $rand.time().'.'.$fileType;
				return $result;
			}
			
			$Filename = getNewName($_FILES['file']['name'][$i]);
			$originalFilename = $_FILES['file']['name'][$i];
			$type = $_FILES['file']['type'][$i];
			
			// .gif, .png, .jpg, .zip, .docx, .pdf, .doc, .swf, .rar
			if ( $type == "image/gif") {$pic_type = 'GIF'; }
			else if ($type == "image/png") {$pic_type = 'PNG'; }
			else if (($type == "image/jpg") or ($type=="image/jpeg") or ($type == "image/pjpeg")) {$pic_type = 'JPG'; }
			else if ($type == "application/octet-stream") {$pic_type = false;}
			else if ($type == "application/vnd.openxmlformats-officedocument.wordprocessingml.document") {$pic_type = false;}
			else if ($type == "application/pdf") {$pic_type = false;}
			else if ($type == "application/msword") {$pic_type = false;}
			else if ($type == "application/x-shockwave-flash") {$pic_type = false;}
			else if ($type == "application/octet-stream") {$pic_type = false;}
			
			
	
			if(move_uploaded_file($_FILES['file']['tmp_name'][$i], "fileUpload/".$Filename)){
			
			if($pic_type){
					$original_image = "fileUpload/". $Filename ; 
					$pic_size = getimagesize($original_image);
					$desired_width = 250 ;
					$per_div = abs($desired_width - $pic_size[0]) * 100 / $pic_size[0];
					$desired_height = $pic_size[0] > $desired_width ?  $pic_size[1] - floor( $pic_size[1] * $per_div / 100) : $pic_size[1] + floor( $pic_size[1] * $per_div / 100);
					$image = new hft_image($original_image);
					$image->resize($desired_width, $desired_height, '0');
					$image->output_resized("fileUpload/".$Filename, "JPG");
				}
				
						$sql = $db->query("INSERT INTO files (original_file_name , file_name) VALUES ('{$originalFilename}' , '{$Filename}') ");
				if($sql)
				{
			 		echo "<H3><CENTER><br><br><br><br><br><img src='images/thumbsup.png' width='256px' height='161px'></CENTER></H3>";
			 		echo "<META HTTP-EQUIV=refresh CONTENT=\"0; page_admin.php\">";
					$upload_true = true;
			 	}else{
			 		echo "<H3>ERROR:Can not Upload</H3>";
				 }
			}
		}else{
			$count++;
		}
	}
}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-25 22:09:55 By : arm8957
 

 

No. 3



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



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


ขอบคุณมากครับ ผมจะจำคำที่พี่สอน ได้หล่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-25 22:54:16 By : NuItMaster
 


 

No. 6

Guest


ตอบความคิดเห็นที่ : 1 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-10-25 22:06:21
รายละเอียดของการตอบ ::
ลบทำไมอ่ะนาย ทำไมชอบสร้างภาพจังอ่ะนาย

แล้วนี่แก้ไขแล้วเรอะนาย ไม่รู้ตัวจริงๆเรอะนาย ว่าหลังเขาเรื่องไหน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-26 21:17:40 By : มั่วชิบหาย
 


 

No. 7



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



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

จากบทความผมก็บอกแล้วว่าไม่รู้หลายเรื่อง ไม่เคยบอกว่ารู้ทุกเรื่อง แล้วคนอย่างคุณรู้ทุกเรื่องไหม

บางอย่างถ้ามันผิดก็บอกให้คนอื่นเขารู้ว่ามันผิด มันลำบากมากใช่ไหม
ต้องมากระแนะกระแหนสร้างศัตรูเพิ่ม แค่ตรงนี้คุณก็ไม่รู้จักอลุ่มอล่วยกับคนอื่นแล้ว
เรียกว่าโตจนเป็นควายแล้ว ยังไม่รู้จักการใช้ชีวิตร่วมกับคนอื่น

ถ้าได้พูดกันต่อหน้า ก็โดนชกปากไปแล้ว นี่เพราะมันเป็นคึย์บอร์ดถึงกล้าพูดแบบนี้ใช่ไหม
ทำตัวให้มันมีประโยชน์แก่ชาวบ้าน คนที่ไม่รู้ก็ไม่รู้อยู่วันยังค่ำ
พอจะรู้บ้างหรือยังว่า ควรตอบยังไง ผมก็ไม่ใช่พหูสูตรที่จะรู้ทุกเรื่อง ถ้าบอกมาเป็นความรู้ จะขอบคุณมากๆ เลย

ปล.และที่แก้ก็บอกว่าแก้ ไม่ได้สร้างภาพ อะไร แค่เพิ่มคำพูดให้มันชัดเจนในความคิด ที่อาจทำให้คนเข้าใจผิดเท่านั้น


ประวัติการแก้ไข
2015-10-27 03:02:36
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-27 03:00:24 By : NewbiePHP
 


 

No. 8



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



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


md5 ที่ผมว่าใช้สำหรับในขั้น rename ชื่อไฟล์ที่ไม่ใช่ภาษาอังกฤษและตัวเลขอะครับ
ไม่เกี่ยวกับชื่อซ้ำหรอก อันนั้นต้องเพิ่มอย่างอื่นเข้ามาด้วย

จขกท.ก็เอามาใช้ในการกำหนด $Filename ในขั้นตอนก่อนที่จะสั่ง move_uploaded_file นะครับ ให้มัน rename แล้วเก็บลงตัวแปรก่อนแล้วจึงย้ายไฟล์ที่อัพโหลด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-27 08:37:10 By : mr.v
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : อัพโหลดไฟล์ภาษาไทย โดยเข้ารหัส ด้วยฟังก์ชัน md5() และให้ถอดรหัส ก่อนดาวน์โหลด นี่ ผมไม่เข้าใจสักเลย งง ช่วยหน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่