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

HOME > PHP > PHP Forum > ปัญหา upload ไฟล์ ที่มีชื่อเป็นภาษาไทย เวลาอัพโหลดไฟล์เอกสารที่มีชื่อเป็นภาษาไทย พอไปเก็บใน folder มันกลายเป็น เธœเธฅเธเธฒเธฃเธ—



 

ปัญหา upload ไฟล์ ที่มีชื่อเป็นภาษาไทย เวลาอัพโหลดไฟล์เอกสารที่มีชื่อเป็นภาษาไทย พอไปเก็บใน folder มันกลายเป็น เธœเธฅเธเธฒเธฃเธ—

 



Topic : 030982

Guest




เวลาอัพโหลดไฟล์เอกสารที่มีชื่อเป็นภาษาไทย พอไปเก็บใน folder มันกลายเป็น

เธœเธฅเธเธฒเธฃเธ—เธณเธ‡เธฒเธ™เธ‚เธญ

แบบนี้ค่ะ ทำให้เวลาจะลิงค์ไปหาไฟล์นนี้มันก้อเลยไม่เจอ นี่โค้ดค่ะ

Code (PHP)
<?php
ob_start();
include("connect.php"); ?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?
$chap_id = $_POST["chapid"];
$title = $_POST["title"];
$des = $_POST["des"];
$type = 2;
//$file = iconv("UTF-8", "TIS-620", $HTTP_POST_FILES["fileUpload"]["name"]);
$file = $HTTP_POST_FILES["fileUpload"]["name"];

$path= "myfile/".$file;
echo $file;
echo "    ";
echo $path;
		
		copy($HTTP_POST_FILES["fileUpload"]["tmp_name"], $path); // Copy File ไว้ที่ Folder File 

	$add = "insert into addition(chap_id,add_title,add_des,add_type,add_resource) values('$chap_id','$title','$des','$type','$path')";  
	mysql_query($add) or die("Insert Error");  
	echo "<script>alert('เพิ่มเนื้อหาเสริมเรียบร้อยแล้ว');window.location='manageAddPage.php';</script>";
	//echo $file;

ob_end_flush();		
mysql_close();
?>


แต่เวลาดูใน db ที่ column add_resource มันเก็บได้นะคะ อย่างในรูปข้างล่าง ช่องสีเหลืองอ่ะค่ะ

a1

---------------------------------------------------------------------------------------------

แต่พอเขียนโค้ดใหม่ โดยใช้ iconv เข้ามาช่วย เวลาเก็บในโฟลเดอร์ มันเก็บเป็นภาษาไทยถูกต้องค่ะ แต่เวลาดูใน db มันจะไม่มีลิงค์ไปที่ชื่อไฟล์อ่ะค่ะ จะลิงค์ไปแค่ชื่อโฟล์เดอร์ myfile แค่นั้น

นี่โค้ดใหม่ที่ใช้ iconv เข้ามาช่วยค่ะ

Code (PHP)
<?php
ob_start();
include("connect.php"); ?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?
$chap_id = $_POST["chapid"];
$title = $_POST["title"];
$des = $_POST["des"];
$type = 2;
$file = iconv("UTF-8", "TIS-620", $HTTP_POST_FILES["fileUpload"]["name"]);
//$file = $HTTP_POST_FILES["fileUpload"]["name"];

$path= "myfile/".$file;
echo $file;
echo "    ";
echo $path;
		
		copy($HTTP_POST_FILES["fileUpload"]["tmp_name"], $path); // Copy File ไว้ที่ Folder File 

	$add = "insert into addition(chap_id,add_title,add_des,add_type,add_resource) values('$chap_id','$title','$des','$type','$path')";  
	mysql_query($add) or die("Insert Error");  
	echo "<script>alert('เพิ่มเนื้อหาเสริมเรียบร้อยแล้ว');window.location='manageAddPage.php';</script>";
	//echo $file;

ob_end_flush();		
mysql_close();
?>


แต่ใน db มันไม่ลิงค์ไปชื่อไฟล์ค่ะ เป็นแบบรูปข้างล่างนี้ค่ะ แบบช่องสีเหลืองอ่ะค่ะ

a2



จะแก้ยังไงดีคะ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-08-30 01:09:26 By : pochiiez View : 24561 Reply : 13
 

 

No. 1



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



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

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
ลองเปลี่ยนเป็น
<meta http-equiv="Content-Type" content="text/html; charset=TIS620">
หรือ
<meta http-equiv="Content-Type" content="text/html; charset=TIS-620">
หรือ
<meta http-equiv="Content-Type" content="text/html; charset=WINDOWS-870"> (อันนี้ไม่แน่ใจ ไม่ได้ใช้ดรีมวีพเวอร์มานาน)

ถ้ายังไม่ได้อีก ตัดปัญหาด้วยการเซฟเป็นชื่อที่เราตั้งไว้ แบบว่าตั้งให้ระบบกำหนดเอง จะได้ป้องกันปัญหาชื่อซ้ำกันได้ด้วย






Date : 2009-08-30 07:10:54 By : monotakari
 


 

No. 2



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

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

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


กลับไปใช้แบบ ไม่เอา iconv มาใช้นะครับ เพราะบันทึกลงฐานข้อมูลได้

ส่วนหน้าแสดงให้ใช้

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

และเพิ่มในไฟล์ connect.php ด้วย mysql_query("SET NAMES UTF8");

นะครับ
Date : 2009-08-30 15:47:35 By : lozomac
 

 

No. 3

Guest


ลองแก้ตามแล้ว ทั้ง 2 แบบเลย ไม่ได้ค่ะ ทำไงดีคะ

แล้วถ้าจะ rename ชื่อไฟล์ ทำไงคะ

ช่วยด้วยค่ะ
Date : 2009-08-31 20:24:21 By : pochiiez
 


 

No. 4



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

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

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


HTTP_POST_FILES ถ้าจะใช้นี่ต้องไปเปิด register_long_arrays = On นะครับถ้าผมจำไม่ผิด
Date : 2009-08-31 20:34:04 By : plakrim
 


 

No. 5



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

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

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


วิธีเปลี่ยนชื่อครับ

Code
$sur = strrchr($_FILES['filUpload']['name'], "."); //ตัดนามสกุลไฟล์เก็บไว้
$newfilename = (Date("dmy_His").$sur); //ผมตั้งเป็น วันที่_เวลา.นามสกุล
copy($_FILES["filUpload"]["tmp_name"],"floder/".$newfilename) //แล้วค่อยเก็บลงไฟล์


ลองไปประยุกต์ดูน่ะครับ หวังว่าจะช่วยได้
Date : 2009-08-31 21:08:32 By : pea_on
 


 

No. 6

Guest


ขอบคุณ คุณ casper มากนะครับ
Date : 2010-05-25 23:02:56 By : Prach Konphet
 


 

No. 7

Guest


ขอบคุณ casper มากๆครับ
Date : 2012-01-24 10:28:03 By : nuarsenal
 


 

No. 8

Guest


ขอบคุณมากเด้อ
Date : 2012-02-22 17:37:36 By : โอเล่
 


 

No. 9



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



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

ขอบคุณค๊า :)
Date : 2012-02-23 00:39:30 By : Doremeez
 


 

No. 10



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

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

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

Code (PHP)
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
mysql_query("SET NAMES UTF8");


หรือไม่ลองดูพวก iconv() ได้แน่นอนครับ

Go to : แก้ปัญหาภาษาไทย php กับ MySQL (TIS-620 กับ UTF-8)
Date : 2012-02-23 06:10:16 By : webmaster
 


 

No. 11



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



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


$fileupload = $_FILES['fileupload']['tmp_name'];
$fileupload_name = $_FILES['fileupload']['name'];
$fileupload_size = $_FILES['fileupload']['size'];
$fileupload_type = $_FILES['fileupload']['type'];
$ext = strtolower(end(explode('.', $fileupload_name))); //นามสกุลไฟล์
$ymdnow = date("Y-m-d H:i:s");
$fname = explode('.', $fileupload_name);
$filename = date("YmdHis")."-".$fname[0].".".$ext;
$filename2 = iconv("UTF-8", "windows-874", $filename);
copy($fileupload, "$dir/$filename2");

ตอน ก็อปปี้ไฟล์ ใช้เป็น $filename2
ตอน insert to db ใช้เป็น $filename

ลองดูครับ ผมก็โปรแกรมมั่วๆ
credit : http://www.7blogger.com/7tip/php-save-file-name-in-thai-language.html
Date : 2013-12-02 09:52:04 By : keling
 


 

No. 12



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



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


กระทู้นี้มันจะครบ 2 ปีแล้วนะครับ
Date : 2013-12-02 10:17:03 By : arm8957
 


 

No. 13

Guest


แบบนี้ครับ ลองดู เผื่อใครกำลังหาอยู่

Code (PHP)
if(($_FILES["filUpload"]['type']=="application/msword") //file .doc
		|| ($_FILES["filUpload"]['type']=="application/vnd.openxmlformats-officedocument.wordprocessingml.document") //file .dcox
		|| ($_FILES["filUpload"]['type']=="application/vnd.ms-excel") //file .xls
		|| ($_FILES["filUpload"]['type']=="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")//file .xlsx
		|| ($_FILES["filUpload"]['type']=="application/pdf") //file pdf
		|| ($_FILES["filUpload"]['type']=="application/vnd.ms-powerpoint")) //file ppt
	{
		move_uploaded_file($_FILES["filUpload"]['tmp_name'],"myfile/".Date("dmy_His")."_".iconv("UTF-8", "TIS-620", $_FILES["filUpload"]["name"]));
	}
	else{
	echo "<script>alert('Please upload file .doc/.docx/.xls/.pdf');history.back();</script>";
	exit();
	}	

	
	$sql = "INSERT INTO customer (UserID, Name, studentID, status, faculty, phone, EmailUser ,file ,dateAdd) 
		VALUES ('".$_POST["txtUserID"]."','".$_POST["txtName"]."','".$_POST["txtstudentID"]."'
		,'".$_POST["txtstatus"]."','".$_POST["txtfaculty"]."','".$_POST["txtphone"]."','".$_POST["txtEmail"]."','".Date("dmy_His")."_".$_FILES["filUpload"]["name"]."',NOW())";

	$query = mysqli_query($conn,$sql);


Date : 2018-12-25 11:56:55 By : samada
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ปัญหา upload ไฟล์ ที่มีชื่อเป็นภาษาไทย เวลาอัพโหลดไฟล์เอกสารที่มีชื่อเป็นภาษาไทย พอไปเก็บใน folder มันกลายเป็น เธœเธฅเธเธฒเธฃเธ—
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่