พี่ครับ ช่วยผมหน่อยครับ ไม่รู้ผมจะทำยังไงดี ...............
พี่ๆครับ คนเก่งๆ หายไปไหนหมด ไม่มาตอบผมเลยยยย T_T
ผมเขียนได้ประมาณนี้แล้ว ใช้ได้แล้ว แต่มีปัญหานิดนึ่ง
คือ ไฟล์นั้นมีหลาย V. เช่น ประเภท Word ก้มี .doc .docx ประมาณนี้ Excel กับ PDF ก้เหมือนกัน
ผมสามารถเปลี่ยน ไปใช้แบบตรวจสอบประเภทไฟล์ ที่ไม่ใช่ตรวจสอบนามสกุลได้ป่าวครับ
ผมเขียนแบบนี้
($_FILES["fileUpload"]["type"] == " application/pdf ") มันก้ไม่ได้อ่ะครับ มีวิธีอื่นหรือเปล่าครับ
Code (PHP)
if (strchr($fileUpload_name,".")==".pdf")
{
(move_uploaded_file($fileUpload_stored,"myfile/PDF/".$fileUpload_name)); //หากเป็น .pdf ให้ย้ายไว้ที่ "myfile/PDF/"
}
elseif (strchr($fileUpload_name,".")==".xls")
{
(move_uploaded_file($fileUpload_stored,"myfile/excel/".$fileUpload_name));
}
elseif (strchr($fileUpload_name,".")==".docx")
{
(move_uploaded_file($fileUpload_stored,"myfile/word/".$fileUpload_name));
}
else // ไฟล์ที่ไม่เข้าเงื่อนไข
{
(move_uploaded_file($fileUpload_stored,"myfile/".$fileUpload_name));
}
T_T ตอบหน่อยเถอะ
Date :
2012-08-29 17:06:56
By :
cappuczino
ผมจำได้ว่าเคยแนะนำ ตามกระทู้นี้
https://www.thaicreate.com/php/forum/082990.html
Code (PHP)
$name = $_FILES["fileUpload"]["type"] ;
//เอาชื่อไฟล์ที่อัพโหลดมา ไปหาในข้อมูล ตาราง
$sql = "select * from table where ฟิลด์ที่เก็บชื่อไฟล์ like '%name%'"; //เปลี่ยนแปลงตามต้องการ
$sqlquery=mysql_db_query($dbname, $sql);
$total = mysql_num_rows($sqlquery);
if($total >0) { //ถ้าพบข้อมูล แสดงว่าชื่อที่นำมาค้น มีการซ้ำ
echo "<script>alert ('เอกสารที่ท่านเลือก มีอยู่ในฐานข้อมูลแล้ว กรุณาเลือกไฟล์ใหม่');history.back();</script>";
}else {
//แต่ถ้าไม่พบค่าซ้ำ ก็ทำการ upload ไฟล์ตามเงื่อนไขที่ต้องการ ตรงนี้น่าจะพอทำได้นะครับ
}
ให้เอาชื่อไฟล์ไปหาในตารางก่อน ใช้คำสั่ง mysql_num_rows ถ้ามีค่ามากกว่า 0 แสดงว่าชื่อไฟล์นั้นมีในฐานข้อมูลแล้ว ได้ลองทำยังครับ....ช่วยไม่ได้เลยหร๋อครับเพราะผมก็ใช้วิธีนี้อยู่อ่ะครับ
Date :
2012-08-29 21:10:08
By :
apisitp
มันไม่เจออะไรที่ต้องการค้นหา ใช่หรือเปล่าครับ
ประวัติการแก้ไข 2012-08-30 11:10:14
Date :
2012-08-30 11:04:22
By :
cappuczino
การตรวจนามสกุลจ้า ตรวจหน้า formเลย
Code (PHP)
<html>
<head>
<title></title>
<meta http-equiv=Content-Type content="text/html; charset=tis-620">
</head>
<body>
<script language="javascript">
function fncSubmit()
{
if(document.getElementById("txtAlbumName").value == "")
{
alert('Please input Album Name');
document.getElementById("txtAlbumName").focus();
return false;
}
if(document.getElementById("filAlbumShot").value == "")
{
alert('Please input Album Shot');
document.getElementById("filAlbumShot").focus();
return false;
}
else
{
var file=document.getElementById("filAlbumShot").value;
var patt=/(.gif|.jpg|.png)/;
var result=patt.test(file);
if(!result)
{
alert('file type is wrong (jpg,png,gif only)');
}
return result;
}
document.form1.submit();
}
</script>
<form name="form1" method="post" action="save_album.php" enctype="multipart/form-data" onSubmit="JavaScript:return fncSubmit();" >
<table>
<tr><td>Album Name : <font color="#FF0000">*</font></td><td><input type="text" name="txtAlbumName" id="txtAlbumName" maxlength="50"></td></tr>
<tr><td>Album Shot : <font color="#FF0000">*</font></td><td><input type="file" name="filAlbumShot" id="filAlbumShot">(.jpg .gif .png only)</td></tr>
<tr><td><input name="btnSubmit" type="submit" value="Upload"></td></tr>
</table>
</form>
<a href="view_album.php">View Album </a>
</body>
</html>
Date :
2012-08-30 11:09:53
By :
sambrazil
var file=document.getElementById("filAlbumShot").value;
var patt=/(.gif|.jpg|.png)/; //นามสกุลไรไส่เพิ่มไป ตัวเล็กตัวใหญ่ ืค่าไม่เท่ากันนะ case sensitive
var result=patt.test(file);
if(!result) //อาจจะประยุกถ้าเจออันนี้ แล้วไปที่ไหน แต่ที่ผมทำคือถ้าไม่เจอไฟล์พวกนามสกุลนี้แจ้งเตือน
{
alert('file type is wrong (jpg,png,gif only)');
}
return result;
}
ตามกระทู้ที่ผมตั้งไว้
https://www.thaicreate.com/php/forum/082484.html
ประวัติการแก้ไข 2012-08-30 11:15:51
Date :
2012-08-30 11:13:23
By :
sambrazil
เครื่องหมาย $ หายไป
$fileUpload_name = $_FILES["fileUpload"]["name"];
//เอาชื่อไฟล์ที่อัพโหลดมา ไปหาในข้อมูล ตาราง
$objConnect = mysql_connect("localhost","root","xxxx") or die("Error Connect to Database");
$objDB = mysql_select_db("dc");
mysql_query("SET NAMES UTF8");
$sql = "select * from files where Filesname like '%$fileUpload_name%'"; //ตกเครื่องหมาย $
$sqlquery=mysql_db_query($objDB, $sql);
$total = mysql_num_rows($sqlquery);
if($total >0) { //ถ้าพบข้อมูล แสดงว่าชื่อที่นำมาค้น มีการซ้ำ
echo "<script>alert ('เอกสารที่ท่านเลือก มีอยู่ในฐานข้อมูลแล้ว กรุณาเลือกไฟล์ใหม่');history.back();</script>";
}else {
//แต่ถ้าไม่พบค่าซ้ำ ก็ทำการ upload ไฟล์ตามเงื่อนไขที่ต้องการ ตรงนี้น่าจะพอทำได้นะครับ
}
ประวัติการแก้ไข 2012-08-30 13:37:58
Date :
2012-08-30 13:37:28
By :
apisitp
ขอบคุณครับ ได้แล้วครับ
Date :
2012-08-30 16:21:16
By :
cappuczino
Error ว่าอะไรครับ
Date :
2012-09-01 21:33:31
By :
apisitp
Load balance : Server 00