แนะนำแนวทางการ Upload File ลง MySQL พร้อมกับ ข้อมูลอื่นๆหน่อยครับ
การเปลี่ยนชื่อไฟล์ก็เปลี่ยนเป็น Timestamp ปัจจุบันก็ได้ครับ
หรืออาจจะเอา user id ของ user ที่อัพโหลดพ่วงเข้าไปด้วยก็ดี
จะได้ไม่มีปัญหาว่า ถ้า 2 user อัพไฟล์พร้อมกันแล้วชื่อจะซ้ำกัน
วิธีการเก็บก็เอาเฉพาะชื่อใหม่ที่เปลี่ยนแล้วเข้าไปเก็บลง DB พอครับ
วิธีเก็บก็ธรรมดาเลย
พอตอน query มาเราก็ค่อยมาเพิ่ม part ให้มันทีหลัง มันก็จะเรียกไฟล์มาได้ถูกต้องครับ
Date :
2009-07-13 13:26:13
By :
iamatomix
พอจะมีตัวอย่างไหมครับ
Date :
2009-07-13 14:12:16
By :
pokultra
Code (PHP)
<?php
if(copy($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))
{
echo "Copy/Upload Complete<br>";
//*** Insert Record ***//
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$strSQL = "INSERT INTO files ";
$strSQL .="(FilesName) VALUES ('".$_FILES["filUpload"]["name"]."')";
$objQuery = mysql_query($strSQL);
}
?>
ผมดูตัวอย่าง code แล้วลองทำตามดูครับ ทุกอย่างได้แล้วเหลือแต่ ตรงกำหนดให้ชื่อเป็นวันเวลาปัจจุบันที่อัพโหลดอ่ะครับ ไม่ทราบว่าต้องกำหนดไหน ที่มาของ code ก็ใน tutorial ของ thaicreat.com อ่ะครับ
รบกวนที่ครับ ไม่งั้นอัพขึ้นไปแล้วไฟล์ทับกันหมดอ่ะครับ
Date :
2009-07-13 14:42:20
By :
pokultra
รออย่างมีความหวัง
ระหว่างรอก็มั่วๆ อยู่ครับ
Date :
2009-07-13 15:53:57
By :
pokultra
Code (PageUploadToMySQL1.html)
<html>
<head>
<title>ThaiCreate.Com Tutorial</title>
</head>
<body>
<form name="form1" method="post" action="PageUploadToMySQL2.php" enctype="multipart/form-data">
<input type="file" name="filUpload"><br>
<input name="btnSubmit" type="submit" value="Submit">
</form>
</body>
</html>
Code (PageUploadToMySQL2.php)
<html>
<head>
<title>ThaiCreate.Com Tutorial</title>
</head>
<body>
<?
if(copy($_FILES["filUpload"]["tmp_name"],"myfile/".$_FILES["filUpload"]["name"]))
{
echo "Copy/Upload Complete<br>";
//*** Insert Record ***//
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$strSQL = "INSERT INTO files ";
$strSQL .="(FilesName) VALUES ('".$_FILES["filUpload"]["name"]."')";
$objQuery = mysql_query($strSQL);
}
?>
<a href="PageUploadToMySQL3.php">View files</a>
</body>
</html>
Code (PageUploadToMySQL3.php)
<html>
<head>
<title>ThaiCreate.Com Tutorial</title>
</head>
<body>
<?
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM files";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="200" border="1">
<tr>
<th width="50"> <div align="center">Files ID </div></th>
<th width="150"> <div align="center">Files Name </div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center"><?=$objResult["FilesID"];?></div></td>
<td><center><a href="myfile/<?=$objResult["FilesName"];?>"><?=$objResult["FilesName"];?></a></center></td>
</tr>
<?
}
?>
</table>
<?
mysql_close($objConnect);
?>
</body>
</html>
Date :
2009-09-18 09:14:03
By :
webmaster
ขอบคุณครับ
Date :
2009-09-18 10:55:20
By :
pokultra
MR.WIN ค่ะ
ทำไมหนูลองทำตามของพี่แล้วมันไม่ยอมขึ้นอะค่ะ หรือว่า upload แล้วจะต้องลงฐานข้อมูลก่อนอ่ะ พี่ช่วยอธิบายหน่อยสิค่ะ MR.WIN ค่ะ หนูขอติดต่อพี่ทาง e-mail ได้ป่ะค่ะ เพราะว่าพี่ช่วยแก้ปัญหาให้หนูได้มากมายเลยอ่ะค่ะ ขอบคุณพี่ล่วงหน้าค่ะ
Date :
2009-11-11 14:01:12
By :
kabton_hok
ต้องการทำอะไรหรอ ลองคุยกันครับ
php_บีเอเอสไอซี@เมลร้อน
Date :
2009-11-11 14:04:44
By :
pokultra
แล้ว ดาต้าเบสอะครับ สร้างแบบไหน
หมายถึงว่า FilesName ใช้ชนิดอะไรหลอครับ
Date :
2010-02-09 20:06:53
By :
tum
ลองแล้วครับ แต่มันขึ้น ?????????
อะครับ ทำไงดี ลองเซ็ดค่าเป็น utf-8 แล้วไม้ได้
Date :
2010-02-11 16:35:09
By :
adunafah
ขอบคุณมากๆ เป็นประโยชน์มากครับ
Date :
2010-05-14 11:46:18
By :
nuarsenal
ถ้าจะทำการอัพโหลดไฟล์ลงบนฐานข้อมูลโดยใช้ Codeigniter เราจะต้องเขียนโค้ดในส่วนของ Contorller Model View ยังไงค่ะ
Date :
2011-09-19 11:41:14
By :
ริน
ตัวนี้เป็นการ อัพโหลดภาพน่ะครับ เอาไปปรับเปลี่ยนเอาน่ะครับ น่าจะคล้ายๆ กัน
หลักการง่ายๆ ก็คือ ในฐานข้อมูล เก็บเป็นชื่อไฟล์เอาครับ ส่วน DataType ใน DB เป็น Vachar ก็น่าจะได้ครับ
Code (PHP)
if(!isset($_POST['photo'])){
$file = $_FILES['photo']['tmp_name'];
$type = $_FILES['photo']['type'];
$pic_name = date("U")."_img";
$ext = explode('.',$_FILES['photo']['name']);
$newfile = $pic_name.".".$ext[1];
if (($_FILES["photo"]["type"] == "image/gif") || ($_FILES["photo"]["type"] == "image/jpeg") || ($_FILES["photo"]["type"] == "image/pjpeg"))
{
if(copy($file,"images/".$newfile)){
$sqlpic = "update image set images ='$newfile' where id_pic ='$member_id' ";
$result = mysql_query($sqlpic) or die("Error update picture") ;
echo "<center><img src =\"images/$newfile\" width =100 height=100 ></center><br>";
echo "<center>แก้ไขภาพส่วนตัวแล้วครับ</center><br>";
}
}
ประวัติการแก้ไข 2011-09-19 12:03:55
Date :
2011-09-19 12:00:54
By :
farkram
Load balance : Server 00