PHP删除数据库图片,用路径去删除文件夹下的图片,是指定ID的单张图,我代码错在哪里?
if($_POST['submit3']){$i=$_POST['id'];//echo$i;$r="SELECT*FROM`sy_zhanshi`WHERE`sy_zh...
if($_POST['submit3']){$i = $_POST['id'];//echo $i;$r="SELECT * FROM `sy_zhanshi` WHERE `sy_zhanshi`.`id` = '$i'";$que = $db->query($r);$ro = $db->fetch_array($que);$img = $ro['pic'];@unlink(APPROOT.'/sy_shangpin_img/'.$img);$db->query( "DELETE FROM `sy_zhanshi` where `sy_zhanshi`.`id` ='$i' ");$db->Get_admin_msg("admin_shangpin_shouye_list.php","已经成功删除信息");} 怎么只能删除数据库存的路径,删不了图片 ,先写了一个可以删除图片但是不能对应ID去删除。。。。。谢谢拉
展开
1个回答
展开全部
if($_POST['submit3'])
{
$i = $_POST['id'];
//echo $i;
$r="SELECT * FROM `sy_zhanshi` WHERE `sy_zhanshi`.`id` = '$i'";
$que = $db->query($r);
$ro = $db->fetch_array($que);
$img = $ro['pic'];
@unlink(APPROOT.'/sy_shangpin_img/'.$img);
$db->query( "DELETE FROM `sy_zhanshi` where `sy_zhanshi`.`id` ='$i' ");
$db->Get_admin_msg("admin_shangpin_shouye_list.php","
你这里少贴出文件了。首先你屏蔽掉了 删除文件的错误,既即使文件不存在,也会忽略报错
语句@unlink(APPROOT.'/sy_shangpin_img/'.$img);
其中APPROOT 是个预定义变量。你在你的配置文件里查看一下路径。这里的配置可能是不对。当系统自动删除文件时 由于配置的预定义变量路径不对。而你又恰恰将错误忽略了。这样即便是没有文件,也不会提示错误。当然不能删除文件了。
解决方法:
1加入if()语句 判断文件是否删除,之后执行删除操作代码如下
$fileName = "APPROOT.'/sy_shangpin_img/'.$img";//这里指的是文件的相对路径
if(file_exists($filName))
{
//执行删除操作
unlink(APPROOT.'/sy_shangpin_img/'.$img);
}else{
echo "未找到该文件!";
}
2:查找APPROOT预定义变量
define APPROOT ......;找到该设置语句,将文件目录设置成自己的。
如果有什么不懂可以继续追问
{
$i = $_POST['id'];
//echo $i;
$r="SELECT * FROM `sy_zhanshi` WHERE `sy_zhanshi`.`id` = '$i'";
$que = $db->query($r);
$ro = $db->fetch_array($que);
$img = $ro['pic'];
@unlink(APPROOT.'/sy_shangpin_img/'.$img);
$db->query( "DELETE FROM `sy_zhanshi` where `sy_zhanshi`.`id` ='$i' ");
$db->Get_admin_msg("admin_shangpin_shouye_list.php","
你这里少贴出文件了。首先你屏蔽掉了 删除文件的错误,既即使文件不存在,也会忽略报错
语句@unlink(APPROOT.'/sy_shangpin_img/'.$img);
其中APPROOT 是个预定义变量。你在你的配置文件里查看一下路径。这里的配置可能是不对。当系统自动删除文件时 由于配置的预定义变量路径不对。而你又恰恰将错误忽略了。这样即便是没有文件,也不会提示错误。当然不能删除文件了。
解决方法:
1加入if()语句 判断文件是否删除,之后执行删除操作代码如下
$fileName = "APPROOT.'/sy_shangpin_img/'.$img";//这里指的是文件的相对路径
if(file_exists($filName))
{
//执行删除操作
unlink(APPROOT.'/sy_shangpin_img/'.$img);
}else{
echo "未找到该文件!";
}
2:查找APPROOT预定义变量
define APPROOT ......;找到该设置语句,将文件目录设置成自己的。
如果有什么不懂可以继续追问
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询