|
|
|
รบกวนช่วยหน่อยค่ะ อัปโหลดภาพ เข้า DB เป็นภาษาไทย แต่เข้า Folder เป็นภาษาต่างดาว |
|
|
|
|
|
|
|
อัปโหลดภาพ เข้า DB เป็นภาษาไทย แต่เข้า Folder เป็นภาษาต่างดาว
โค้ด
Code (PHP)
<?php
error_reporting(0);
include('conn.php');
$date = date('Y-m-d H:i:s');
define ("MAX_SIZE","5000"); // 5MB MAX file size
function getExtension($str)
{
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
// ตรวจสอบนามสกุลของภาพที่อัพโหลด
$valid_formats = array("jpg", "png", "gif", "bmp","jpeg");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
$uploaddir = "picture/im/"; //โฟลเดอร์ที่เก็บภาพ อย่าลืมสร้างนะครับ!!
foreach ($_FILES['photos']['name'] as $name => $value)
{
$filename = stripslashes($_FILES['photos']['name'][$name]);
$size=filesize($_FILES['photos']['tmp_name'][$name]);
//Convert extension into a lower case format
$ext = getExtension($filename);
$ext = strtolower($ext);
//File extension check
if(in_array($ext,$valid_formats))
{
//ขนาดของภาพหน้ามเกิน 1mb
if ($size < (MAX_SIZE*1024))
{
$image_name= $filename;
//echo "<img src='".$uploaddir.$image_name."' class='imgList'>";
$newname=$uploaddir.$image_name;
//อัพโหลดไฟล์ไปในโฟลเดอร์ที่กำหนด
if (move_uploaded_file($_FILES['photos']['tmp_name'][$name], $newname))
{
//เพิ่มเข้าฐานข้อมูล
$query=$conn->query("INSERT INTO picture(id,image_name,dateupload)VALUES('".$_GET["id"]."','".$image_name."','".$date."')");
mysqli_query($conn, "SET NAMES UTF8");
}
else
{
echo '<span class="imgList">You have exceeded the size limit! so moving unsuccessful! </span>'; }
}
else
{
echo '<span class="imgList">You have exceeded the size limit!</span>';
}
}
else
{
echo '<span class="imgList">Unknown extension!</span>';
}
} //foreach end
}
echo "<script>alert('อัพโหลดเสร็จสิ้น');</script>";
mysqli_close();
?>
Tag : PHP
|
|
|
|
|
|
Date :
2018-05-15 10:00:44 |
By :
sprinter21 |
View :
703 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ภาษาที่ใช้บนทึกผ่าน php น่ะถูกต้องแล้วครับ
แต่ที่เป็นปัญหา การใช้ explorer เปิดแล้วไม่เป็นภาษาไทย
เป็นเพราะ window ไม่ได้กำหนดให้อ่าน high char (128+) เป็นภาษาไทย
วิธีแก้ คือเข้า Control Panel / Region / Administrative
เข้ากรอบสีแดง เปลี่ยนให้เป็น thai ซะก็เรียบร้อย
|
|
|
|
|
Date :
2018-05-15 11:48:14 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพื่อการใช้งานได้ครอบจักรวาล ไฟล์ที่อัพโหลดแล้ว ควรเปลี่ยนเป็นอังกฤษและตัวเลขเท่านั้น.
|
|
|
|
|
Date :
2018-05-16 10:29:54 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|