ยังงัยก็ลบไฟล์ใน โฟร์เดอร์ ไม่ได้ ช่วยด้วยยยยยยยยคับ ไม่รู้เขียนตรไหนผิดหรือป่าว
ต้องเขียนยังงัยค่า แบบนี้ ก็ไม่ลบเหมือนกัน TT
Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php require_once('Connections/myconnect.php');
mysql_select_db($database_myconnect);
$id=$_GET['fileId'];
$getContent =("SELECT fileName FROM file WHERE fileId = '$id'");
//echo $getContent;
$result=mysql_db_query($database_myconnect,$getContent);
@unlink('file/'.$result['fileName']);
//*** Delete File ***//
$id=$_GET['upId'];
$sql= "DELETE FROM file,up where fileId = '".$id."'";
/*(ลบข้อมูลจากตาราง 2 ตาราง)*/ $sql="DELETE FROM file,up USING file
INNER JOIN up
WHERE file.fileId = '$id'
AND up.upId = file.upId";
$result=mysql_db_query($database_myconnect,$sql);
//echo $sql;
if ($result) {
echo "<script> alert('ลบข้อมูลเรียบร้อยแล้ว');window.location='upload.php';</script>";
} else {
echo "<script> alert('ไม่สามารถลบข้อมูลได้');window.location='upload.php';</script>";
}
mysql_close();
?>
Date :
2015-10-27 09:44:58
By :
tomton
เอา result มาให้ดูหน่อย
Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php require_once('Connections/myconnect.php');
mysql_select_db($database_myconnect);
$id=$_GET['fileId'];
$getContent =("SELECT fileName FROM file WHERE fileId = '$id'") or die(mysql_error());
echo "SELECT fileName FROM file WHERE fileId = '$id'";
exit;
//echo $getContent;
$result=mysql_db_query($database_myconnect,$getContent);
@unlink('file/'.$result['fileName']);
//*** Delete File ***//
$id=$_GET['upId'];
$sql= "DELETE FROM file,up where fileId = '".$id."'";
/*(ลบข้อมูลจากตาราง 2 ตาราง)*/ $sql="DELETE FROM file,up USING file
INNER JOIN up
WHERE file.fileId = '$id'
AND up.upId = file.upId";
$result=mysql_db_query($database_myconnect,$sql);
//echo $sql;
if ($result) {
echo "<script> alert('ลบข้อมูลเรียบร้อยแล้ว');window.location='upload.php';</script>";
} else {
echo "<script> alert('ไม่สามารถลบข้อมูลได้');window.location='upload.php';</script>";
}
mysql_close();
?>
Date :
2015-10-27 09:52:05
By :
arm8957
Date :
2015-10-27 09:58:01
By :
tomton
มันลบแต่ในฐานข้อมูลแต่ในโฟร์เดอร์ ไม่ลบไฟล์ ยังอยู่เหมือนเหมือนค่า TT
Date :
2015-10-27 10:10:47
By :
tomton
คุณก็ต้องลอง debug บ้างนะครับ ตรงไหนคิดว่าผิดก็ลอง debug ดู ใช้คำสั่ง exit; ก็ได้
เอา Result มาให้ดูหน่อย
Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php require_once('Connections/myconnect.php');
mysql_select_db($database_myconnect);
$id=$_GET['upId'];
$getContent =("SELECT fileName FROM file WHERE fileId = '$id'");
//echo $getContent;
$result=mysql_db_query($database_myconnect,$getContent);
echo "<pre>";
print_r($result);
exit;
@unlink('file/'.$result['fileName']);
//*** Delete File ***//
$sql= "DELETE FROM file,up where fileId = '".$id."'";
/*(ลบข้อมูลจากตาราง 2 ตาราง)*/ $sql="DELETE FROM file,up USING file
INNER JOIN up
WHERE file.fileId = '$id'
AND up.upId = file.upId";
$result=mysql_db_query($database_myconnect,$sql);
//echo $sql;
if ($result) {
echo "<script> alert('ลบข้อมูลเรียบร้อยแล้ว');window.location='upload.php';</script>";
} else {
echo "<script> alert('ไม่สามารถลบข้อมูลได้');window.location='upload.php';</script>";
}
mysql_close();
?>
ประวัติการแก้ไข 2015-10-27 10:14:44
Date :
2015-10-27 10:14:21
By :
arm8957
รบกวนอีกทีค่ะ
Date :
2015-10-27 10:20:25
By :
tomton
ตอบความคิดเห็นที่ : 8 เขียนโดย : tomton เมื่อวันที่ 2015-10-27 10:20:25
รายละเอียดของการตอบ ::
อ้อ!!! ลืม คุณยังไม่ fetch เลยนิ มันจะได้ยังไง อะอีกที
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php require_once('Connections/myconnect.php');
mysql_select_db($database_myconnect);
$id=$_GET['upId'];
$getContent = "SELECT fileName FROM file WHERE fileId = '$id'" ;
//echo $getContent;
$query = mysql_db_query($database_myconnect,$getContent);
$result = mysql_fetch_assoc($query);
echo "<pre>";
print_r($result);
exit;
@unlink('file/'.$result['fileName']);
//*** Delete File ***//
$sql= "DELETE FROM file,up where fileId = '".$id."'";
/*(ลบข้อมูลจากตาราง 2 ตาราง)*/ $sql="DELETE FROM file,up USING file
INNER JOIN up
WHERE file.fileId = '$id'
AND up.upId = file.upId";
$result=mysql_db_query($database_myconnect,$sql);
//echo $sql;
if ($result) {
echo "<script> alert('ลบข้อมูลเรียบร้อยแล้ว');window.location='upload.php';</script>";
} else {
echo "<script> alert('ไม่สามารถลบข้อมูลได้');window.location='upload.php';</script>";
}
mysql_close();
?>
Date :
2015-10-27 10:33:07
By :
arm8957
อย่างนี้ น่าจะได้แล้วใช่มัยค่าาาาาาา
Date :
2015-10-27 10:41:07
By :
tomton
ได้แล้วค่า ขอบคุณมากค่า
Date :
2015-10-27 10:43:36
By :
tomton
เพื่อให้หาต้นเหตุได้ง่ายขึ้นนะครับ ผมแนะนำให้ใช้ if ให้เป็นประโยชน์มากๆหน่อย เอาไว้เช็คค่าต่างๆก่อนที่จะสั่งดำเนินการอะไร
ตัวอย่างเช่น
การรับค่า $id ก่อนเอาไป query ก็เช็คก่อนว่า $id เป็นตัวเลขไหม(ในกรณีที่ต้องเป็นตัวเลขเท่านั้น)
Code (PHP)
$id = intval($_GET['upId']);
if ($id == '0') {
echo 'ค่า ID ไม่เป็นเลข หรือเป็น 0.';
exit;
}
โดยการ echo นี้อาจจะใช้การเขียน log file แทนก็ได้ในกรณีที่พัฒนาระบบใหญ่ๆมันจะได้ดูราบรื่นดูเป็นมืออาชีพกว่ามาขว้าง error ออกมาให้คนเห็นไปทั่ว.
อย่างการสั่งลบไฟล์ก็เหมือนกัน ควรเช็คไฟล์มีอยู่มั้ย? เขียนได้รึเปล่า?(เขียนได้ก็ลบได้) ใช่ไฟล์มั้ย?
Code (PHP)
if (
// เช็คว่าค่า $result ถูกต้องมั้ย
is_array($result) && array_key_exists('fileName', $result) &&
// เช็คไฟล์อยู่มั้ย? ลบได้มั้ย? ใช่ไฟล์มั้ย?
file_exists('file/'.$result['fileName']) && is_file('file/'.$result['fileName']) && is_writable('file/'.$result['fileName'])
) {
unlink('file/'.$result['fileName']);
} else {
echo 'ค่า $result อาจไม่ถูกต้อง หรือ ไฟล์ไม่มีอยู่จริง หรือ ลบไม่ได้ อย่างใดอย่างหนึ่ง<br>';
echo 'ค่าของ $result:<br><pre>'.print_r($result, true).'</pre>';
exit;
}
วิธีเหล่านี้จะช่วยเพิ่มความรอบคอบในงานของคุณและทำให้หาสาเหตุได้ง่ายขึ้นมากมายนัก
และหากสังเกตุดู ผมไม่ต้องใช้ @ มาปิดการแสดง error อะไรเลย เพราะใช้ if ตรวจสอบอย่างละเอียดหมดแล้ว
Date :
2015-10-27 11:23:04
By :
mr.v
อ่อ ขอบคุณ สำหรับความรู้ดีดี ค่ะ แล้วเราจะเขียนเช็คได้มัย ถ้าชื่อไฟล์มันซ้ำกันในโฟร์เดอร์
Date :
2015-10-27 11:30:31
By :
tomton
ขอบคุณค่าาา
Date :
2015-10-27 11:44:12
By :
tomton
ขอโทษอีกสักรอบได้หรือป่าวค่า คือ ต้องการแก้ไข ติดอยู่ตรงแก้ไขไฟล์ คือถ้าต้องการแก้ไขไฟล์ต้องลบ ไฟล์ เดิมออก ก่อน ไม่ทราบว่า ลบ ยังงัยเพราะฟิว ไฟล์ ในตารางที่ id เดิม ยังอยู่ งง แล้วก็ไม่เข้าใจด้วยอ่ะค่าาา
Date :
2015-10-29 09:10:40
By :
tomton
:ขอบคุณค่า
Date :
2015-10-29 10:45:19
By :
tomton
ทำมัยมันถึงไม่รับค่า $_GET['upId'];
Date :
2015-10-29 11:32:16
By :
tomton
อ่อๆๆ ค่า ลืมๆๆขอบคุณค่า
Date :
2015-10-29 11:52:04
By :
tomton
ได้แล้วค่า ขอบคุณค่ะ
Date :
2015-10-29 12:05:04
By :
tomton
Load balance : Server 01