189 8069 5689

php删除数据库图片 php删除数据库中一条记录

PHP怎么删除数据库里的图片路径同时,删除文

unlink()

网站建设、网站设计的关注点不是能为您做些什么网站,而是怎么做网站,有没有做好网站,给创新互联公司一个展示的机会来证明自己,这并不会花费您太多时间,或许会给您带来新的灵感和惊喜。面向用户友好,注重用户体验,一切以用户为中心。

删除文件。

语法:

int

unlink(string

filename);

返回值:

整数

函数种类:

文件存取

内容说明

本函数删除文件

filename,用法像

unix

c

语言呼叫的同名函数

unlink()。当发生错误则返回

false。

参考

rmdir()

删除的前提是,你的php程序有对目录的写权限。

没有办法一次性的,你可以自己写一个函数,读取该目录下所有文件,然后循环删除文件,再删除目录。

--------------------------------------------------

代码举例:

php删除文件夹及其文件夹下所有文件

function

deldir($dir)

{

$dh=opendir($dir);

while

($file=readdir($dh))

{

if($file!="."

$file!="..")

{

$fullpath=$dir."/".$file;

if(!is_dir($fullpath))

{

unlink($fullpath);

}

else

{

deldir($fullpath);

}

}

}

closedir($dh);

if(rmdir($dir))

{

return

true;

}

else

{

return

false;

}

}

----------------------------------------

php删除指定文件和文件夹

?php

//删除指定目录(文件夹)中的所有文件函数

function

delfile($dir)

{

if

(is_dir($dir))

{

$dh=opendir($dir);//打开目录

//列出目录中的所有文件并去掉

.

..

while

(false

!==

(

$file

=

readdir

($dh)))

{

if($file!="."

$file!="..")

{

$fullpath=$dir."/".$file;

if(!is_dir($fullpath))

{

unlink($fullpath);//删除目录中的所有文件

}

else

{

delfile($fullpath);

}

}

closedir($dh);

}

}

//删除指定的目录

function

deldir(dir){

delfile(dir);

if

(is_dir($dir))

{

rmdir($dir);//目录必须是空的

}

}

?

现在,如果想删除d盘中的“我的相片”文件夹中的所有文件,就调用自定义函数delfile。

?php

$dir="d:/我的相片";

delfile($dir);

?

如果想删除d盘中的“我的相片”文件夹,调用自定义函数deldir。

?php

$dir="d:/我的相片";

deldir($dir);

?

PHP怎么删除数据库里的图片路径同时,删除文件夹下对应的图片

php+mysql 删除图片在数据库记录的同时删除图片文件举例说明:

A href="?act='mypicdelid=?=$row['id']?" style="color:#FF0000;" onClick="return confirm('确定要删除吗')"删除/A

if($act == 'mypicdel') 

{

$id = !empty($_GET['id']) ? intval($_GET['id']) : '';

//$filename 为你的图片地址,是从数据库里读出的

$sql = "SELECT * FROM wkcx_user WHERE id=$id";  // 查询表,取得图片的完整地址

$res = $db-query($sql);

$row = $db-getarray($res);

$filename = $row['avatar'];  //给图片地址赋一个变量,大图

$filesmallname = $row['small_img']; //缩略图 

if(file_exists($filename)  file_exists($filesmallname))

{ //检查图片文件是否存在

unlink($filename); 

unlink($filesmallname); 

}

else

{

goBakMsg("文件不存在或路径有误!"); //js弹出窗口,我的封装了!可修改为 echo "scriptalert('有误');window.go(-1)/script"

exit;

$sql = "UPDATE  wkcx_user SET avatar='',small_img='' WHERE id='$id'"; //我这个是头像,所以修改为空,如果是图片,直接删除就可以了

$db-query($sql);

urlMsg('删除成功','my_photo.php');   //同上,我封装了,就是一个提示+跳转!

$sql = "DELETE FROM wkcx_user_pic WHERE id='$id'";  //图片的时候,直接删除图片记录!

$db-query($sql);

urlMsg('删除成功','my_photo.php');

}

备注:一定要注意,先删除图片文件,在删除数据库记录!

PHP删除数据库图片,用路径去删除文件夹下的图片,是指定ID的单张图,我代码错在哪里?

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 ......;找到该设置语句,将文件目录设置成自己的。

如果有什么不懂可以继续追问


网站栏目:php删除数据库图片 php删除数据库中一条记录
转载源于:http://jkwzsj.com/article/ddspcep.html

其他资讯