|
|
|
ช่วยหน่อยค่ะ...อัพโหลดไฟล์ชื่อ เค้าโครงงานวิจัย พช.doc ไป save ใน db |
|
|
|
|
|
|
|
แก้ด้วยการ rename เป็นภาษาประกิตซะ หรือใช้ iconv("UTF-8", "TIS-620", $filename)
|
|
|
|
|
Date :
2009-05-13 19:25:09 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
iconv("UTF-8", "TIS-620", $filename) นี่ใช้ตอนไหนอ่ะคะ ใช้ตอน save ลง db หรอคะ
ถ้าใช่แทรกตรงไหนคะ นี่โค้ดค่ะ
Code (PHP)
<?php
ob_start();
include("connect.php"); ?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?
$title = $_POST["title"];
$des = $_POST["des"];
$type = $_POST["selectType"];
$file = $HTTP_POST_FILES["fileUpload"]["name"];
$path= "myfile/".$file;
if($type==1)
{
if($_FILES["fileUpload"]["type"]!="application/msword")
{
echo "<script>alert('ไฟล์ที่ส่งมาไม่ใช่ไฟล์ .doc');history.back();</script>";
exit();
}
else
{
copy($HTTP_POST_FILES["fileUpload"]["tmp_name"], $path);
}
}
else if($type==2)
{
if($_FILES["fileUpload"]["type"]!="application/pdf")
//if(strchr($file,".")!=".pdf" || strchr($file,".")!=".PDF")
{
echo "<script>alert('ไฟล์ที่ส่งมาไม่ใช่ไฟล์ .pdf');history.back();</script>";
exit();
}
else
{
copy($HTTP_POST_FILES["fileUpload"]["tmp_name"], $path);
}
}
$add = "insert into addition(add_title,add_des,add_type,add_resource) values('$title','$des','$type','$file')";
mysql_query($add) or die("Insert Error");
echo "<script>alert('เพิ่มเนื้อหาเสริมเรียบร้อยแล้ว');window.location='addAddition_form.php';</script>";
ob_end_flush();
mysql_close();
?>
|
|
|
|
|
Date :
2009-05-13 19:59:35 |
By :
pochiiez |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
$file = iconv("UTF-8", "TIS-620", $HTTP_POST_FILES["fileUpload"]["name"]);
?>
แบบนี้หายเปล่า
|
|
|
|
|
Date :
2009-05-13 20:52:37 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
$file = iconv("UTF-8", "TIS-620", $HTTP_POST_FILES["fileUpload"]["name"]);
?>
ถ้าใช้โค้ดแบบข้างบนที่คุณ PlaKriM ให้มา ใน folder ชื่อไฟล์จะถูกต้องค่ะ แต่ใน db เป็นแบบในรูป (record ที่ add_id = 40,41 อ่ะค่ะ ในช่อง add_resource เป็นไม่มีข้อมูลอ่ะค่ะ แต่ว่าใน folder มีไฟล์แล้วค่ะ)
แต่ถ้าโค้ดเดิม คือ
Code (PHP)
<?php
$file = $HTTP_POST_FILES["fileUpload"]["name"];
?>
ใน db ฟิลด์ add_resource จะมีข้อมูลค่ะ เช่น record ที่ add_id = 2, 37, 38 แต่ว่าใน folder
จะเป็น เนเธเธเน?เธชเธเธญเธซเธฑเธงเธเนเธญเธชเธฑเธกเธกเธเธฒ.doc
แบบนี้เหมือนเดิมอ่ะค่ะ
ทำไงดีคะ
|
|
|
|
|
Date :
2009-05-14 01:45:57 |
By :
pochiiez |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แบบนี่้้เลยครับกำหนด header เป็น utf-8 ก่อนโดยใช้โค้ดแบบเดิมของคุณ
Code (PHP)
<?php
header('Content-Type: text/html; charset=utf-8');
?>
กำหนดเข้าไปในส่วนหัวเลยของไฟล์ upload นี้
|
|
|
|
|
Date :
2009-05-14 02:03:59 |
By :
melodyApinan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าไม่ได้ลองเปลี่ยนเป็น
Code (PHP)
<?php
echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=UTF-8\">";
?>
แบบ html แทนเลย
|
|
|
|
|
Date :
2009-05-14 02:05:32 |
By :
melodyApinan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
$file = $HTTP_POST_FILES["fileUpload"]["name"]; // ตรงนี้ก็บันทึกข้อมูลปกติ
$path= "myfile/".iconv("UTF-8", "TIS-620", $file); // แก้เฉพาะชื่อไฟล์
?>
|
|
|
|
|
Date :
2009-05-14 02:05:39 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้วิธีของผมก็ได้ ไม่ต้องแก้มาก แก้ไปแก้มาภาษาอาจเพี้ยนยึกยือ
|
|
|
|
|
Date :
2009-05-14 02:15:50 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รักใครชอบใครเชิญเลือกใช้ได้ตามสะดวกอ๊วกสบายเลยจ้าา
แบบผม
แก้เป็น utf-8 ทั้งหมดทำให้แสดงผลเป็น utf-8 ทั้งเว็บไม่ต้องกำหนดทุกครั้งหากต้องการจะแสดงผลแต่เขียนบรรทัดยาวกว่าินิดหน่อยรึป่าว
แบบพี่ plakrim
แก้เป้น utf-8 เฉพาะชื่อไฟล์ที่จะบันทึกไว้ในโฟลเดอร์เขียนสั้นกว่า มั้ง ไม่มีผลกระทบต่อส่วนอื่นๆที่จะต้องแสดงผลอาจทำให้ไม่ผิดเพี้ยนกรณีใช้การแสดงผลแบบ tis-620 หรืออื่นๆ
|
|
|
|
|
Date :
2009-05-14 03:09:08 |
By :
melodyApinan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|