|
|
|
jQuery Uploadify มีปัญหาเกี่ยวกับชื่อไฟล์ภาษาไทย ช่วยดูหน่อยค่ะ |
|
|
|
|
|
|
|
ตอนนี้อัพโหลดได้ เเล้วก็เชื่อมต่อฐานข้อมูลได้
เเต่ปัญหาอยู่ที่ ไฟล์ที่อัพโหลดไปเเล้ว
ชื่อไฟล์ที่เป็นภาษาไทย มันกลายเป็นอะไรก็ไม่รู้ค่ะ
ช่วยดูหน่อยนะคะ ไม่ทราบว่าเป็นเพราะอะไร
มือใหม่เพิ่งหัดอ่ะค่ะ
อันนี้เป็นสคริปในไฟล์ add_file_petition.php นะคะ
Code (PHP)
<script type="text/javascript">
$(document).ready
(
function()
{
$('#file_upload').uploadify
({
'uploader' : '../uploadify/uploadify.swf',
'script' : '../uploadify/uploadify_petition.php?id_pet=<?=$_GET['id_pet'];?>',
'cancelImg' : '../uploadify/cancel.png',
'folder' : '../file_uploaded/petition/',
'auto' : false,
'multi' : true,
'fileDesc' : 'Images and PDF files only! (JPG, PNG, PDF)',
'fileExt' : '*.pdf;*.jpg;*.jpeg;*.png;',
'displayData' : 'speed',
'sizeLimit' : 500000,
'onAllComplete' : function(event,data)
{
alert(data.filesUploaded + ' files uploaded successfully!');
location.reload("index.php?param=m5");
},
'onProgress' : function(event,ID,fileObj,data)
{
var bytes = Math.round(data.bytesLoaded / 1024);
$('#' + $(event.target).attr('id') + ID).find('.percentage').text(' - ' + bytes + 'KB Uploaded');
return false;
}
});
}
);
</script>
ส่วนอันนี้เป็นส่วนอัพโหลดเเละเชื่อมต่อฐานข้อมูลค่ะ
Code (PHP)
if (!empty($_FILES))
{
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
$targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
if(trim($_FILES["Filedata"]["tmp_name"]) != "")
{
move_uploaded_file($tempFile,$targetFile);
include('../includes/phpConfig.php');
Conn2DB();
include('../includes/dbcharset.inc.php');
$sql_id = "SELECT MAX(id_file_pet) FROM file_petition";
$rss_id = mysql_query($sql_id) or die("ผิดพลาด : ".mysql_error());
$rs_id = mysql_fetch_array($rss_id);
$id = $rs_id[0]+1;
$path = "../file_uploaded/petition/".$_FILES['Filedata']['name'];
$sql = "INSERT INTO file_petition values(".$id.",".$_GET['id_pet'].",'".$path."')";
mysql_query($sql) or die("ผิดพลาด : ".mysql_error());
CloseDB();
}
}
Tag : PHP, MySQL, jQuery
|
ประวัติการแก้ไข 2010-12-26 08:45:06
|
|
|
|
|
Date :
2010-12-26 08:42:57 |
By :
Zaddddd |
View :
1907 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทางที่ดีผมแนะให้ให้ตอนอัพโหลด ซืึ่งไม่ว่าเราจะอัพโหลดไฟล์ชื่ออะไร จะเป็นภาษาไหนก็ตาม
ผมแนะนำให้เปลี่ยนชื่อไฟล์ก่อนใช้ที่จะใช้คำสั่ง move_uploaded_file
ประมาณนี้
หน้า add_file_petition.php
หลังจากบันทัดที่ 17 ให้เพิ่ม
Code (PHP)
'scriptData': {'name':'<?=strtolower($new_pic_name);?>'},
ซึ่งตัวแปร $new_pic_name นี้เป็นชื่อไฟล์รูปที่จะตั้งให้ใหม่โดยคุณอาจจะใช้วิธีสุ่มชื่อการตั้งชื่อรูป หรือตั้งชื่อรูปตามวันที่ก็ได้ หรือจะใช้การ
ตั้งชื่อรูปที่มาจากรหัสสินค้า หรือรัหสสมาชิก ผสมกับรหัสส่มเข้าไปก็ได้เพื่อไม่ให้รูปซ้ำกันและลดปัญหาการอัพโหลดไฟล์ภาษาไทยเป็นต่างดาว
ตย. ตัวแปร $new_pic_name ในหน้า add_file_petition.php
Code (PHP)
$new_pic_name=$productId."-".date("Ymd")."-".rand(0,9).rand(0,9).rand(0,9).rand(0,9)
<script type="text/javascript">
$(document).ready
(
...
'scriptData': {'name':'<?=strtolower($new_pic_name);?>'}, //เพิ่มลงไปในบันทัดที่ 18
...
);
</script>
ส่วนในหน้า php ก่อนที่จะอัพโหลดไฟล์ก็ให้เพิ่มคำสั่งไปในบันทัดที่ 6 ประมาณนี้
Code (PHP)
$newFileName = (!empty($_GET['name']))?$_GET['name'].".jpg":strtolower($_FILES['Filedata']['name']);
$uploadTo=str_replace('//','/',$targetPath) .$newFileName
//บันทัดที่ 9 ก็จะเป็น
move_uploaded_file($tempFile,$uploadTo);
//บันทัดที่ 20 ก็จะประมาณนี้
$path = "../file_uploaded/petition/".$newFileName;
|
|
|
|
|
Date :
2010-12-26 14:00:59 |
By :
chineji |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณสำหรับคำแนะนำค่ะ
ตอนนี้แก้ปัญหานั้นได้เเล้ว ใช้ iconv ไปอ่ะค่ะ
แต่ยังไง ถ้า iconv ไม่เวิร์ค เจอปัญหาทีหลัง จะหันมาใช้วิธีที่คุณเเนะนำนะคะ
|
|
|
|
|
Date :
2010-12-26 22:08:20 |
By :
Zaddddd |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังไงครับงง
|
|
|
|
|
Date :
2011-11-24 23:48:43 |
By :
some |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|