|
|
|
สอบถามเรื่องการ upload file ครับ คือ ติดปัญหาตอนเชคชื่อไฟล์ในตารางครับ แล้วอยากจะเปลี่ยนชื่อไฟล์ |
|
|
|
|
|
|
|
ตามหัวข้อนะครับ
ตรงนี้ผมทำการเชคว่ามีชื่อไฟล์ในตารางหรือยัง
ซึ่ง $file_name = $_FILES['ufile']['name']; นะครับ
Code (PHP)
<?
$HTTP_POST_FILES ;
session_start();
$path = "upload/".$_FILES['ufile']['name']; // path of file (in folder name "upload")
include("connect/connect.php");
$tbl_name="upload"; // Table name
$title = $_POST['title'];
$file_name = $_FILES['ufile']['name'];
$file_location = $path;
date_default_timezone_set('Asia/Bangkok');
$date = date("Y-m-d H:i:s", time()) ;
$upload_by = $_SESSION["myusername"];
$objOpen = opendir("upload");
$sql_check = "Select * from $tbl_name where file_name = '$file_name'";
// Check File Name in table
$result_check=mysql_query($sql_check);
$count=mysql_num_rows($result_check);
if($count==0){}
else{
$file_name = $_FILES['ufile']['name']."_".$upload_by;
};
if
(move_uploaded_file($_FILES["ufile"]["tmp_name"],"upload/".$_FILES["ufile"]["name"]))
{
echo "Upload File Successful<br/>";
echo "<hr />";
echo $title."<br/>";
echo $date."<br/>";
echo "<b>File Name :</b>"." " .$_FILES['ufile']['name']."<br/>"; // Show File Name
echo "<b>File Size :</b>"." " .$_FILES['ufile']['size']."<br/>"; // Show File Size
echo "<b>File Type :</b>"." " .$_FILES['ufile']['type']."<br/>"; // Show File Type
echo "<img src=\"$path\" width=\"150\" height=\"150\">"; // Show Picture (Uploaded)
$sql_up = "INSERT INTO $tbl_name
(`Tiltle`, `File_Name`, `File_Location`, `Date`, `upload_by`)
VALUES
(
'$title',
'$file_name',
'$file_location',
'$date',
'$upload_by'
)";
$result=mysql_query($sql_up);
if($result){echo "success";}
else{
?>
<script language="javascript">
alert("Cannot Save File Information to Database");
</script>
<?
};
}else{
?>
<script language="javascript">
alert("Cannot Upload File");
</script><? } ?>
ผมกำหนดว่าถ้ามีชื่อนี้แล้ว ให้ไฟล์ที่อัพมาใหม่ เติมชื่อผู้อัพไฟล์ไว้ด้านหลัง
แต่ผลที่ได้
เวลาอัพไฟล์มันเป็นแบบนี้ครับ
ชื่อไฟล์.docx_ชื่อผู้อัพ
ผมอยากให้เป็น
ชื่อไฟล์_ชื่อผู้อัพ.docx
ช่วยด้วยครับ
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2012-05-23 09:56:00 |
By :
NineV |
View :
1170 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีใครทราบวิธีบ้างมั๊ยครับ
|
ประวัติการแก้ไข 2012-05-23 10:43:02
|
|
|
|
Date :
2012-05-23 09:58:24 |
By :
NineV |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ได้แล้วครับ
Code (PHP)
if($count==0){
}
else{
$random_digit = rand (0000,9999);
$file_extension = pathinfo($_FILES['ufile']['name'], PATHINFO_EXTENSION);
$basename = basename($_FILES['ufile']['name'],$file_extension);
$file_name = $basename.$random_digit.".".$file_extension;
$file_location = "upload/".$file_name;
};
|
|
|
|
|
Date :
2012-05-23 11:25:39 |
By :
NineV |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แบบนี้ภาพก็ยังมีโอกาสซ้ำกันอยู่นะครับ ไม่ลองเก็บ YmdHis ดูครับ จะได้รู้ด้วยว่าชื่อไฟล์อัพเมื่อไหร่ด้วย
** ถ้าไม่ซีเรียสชื่อไฟล์นะ
|
|
|
|
|
Date :
2012-05-23 16:52:24 |
By :
keng_ds |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|