批量删除mysql数据库里没有记录的图片

批量删除mysql数据库里没有记录的图片,第1张

<

$path=getcwd()"/temp";//存放目录

$host="localhost";//主机名

$dbuser="root";//登录数据库用户名

$password="156";//密码

$db="db";//数据库名称

$table="table";//存放表的名称

/从数据中查询所有已经被用的名称,存储一个数组中假如为$pic

/

$query="select pic from "$table;

$link=mysql_query($host,$dbuser,$password);

mysql_select_db($db,$link);

$result=mysql_query($query);

while($row=mysql_fetch_array($result))

{

$pic=$pic$row[pic];

}

$listArray=scandir($path);

foreach($listArray as $item)

{

$isExist=false;

foreach($pic as $datapic)

{

if($item==$datapic){$isExist=true;break;}

}

if($isExist==true){unlink($path"/"$item);echo"删除:"$item" ";}

}

>

先while循环读取vcd数据表所有数据,取出字段pic的值,然后if判断本地是否存在,不存在的话则删除该条记录。pic值为空或者本地没有找到该时,都执行删除记录、本地。

$sql="select  from vcd";

$query=mysql_query($sql);

while($row=mysql_fetch_array($query))

{

       $destination = $row['pic']"png";

        if($row['pic'] == '' || !file_exists($destination1))

       {

                删除记录代码,自己写。

                删除本地

        }

}

单条删除应该很简单 直接删除

connexecute "delete from 表 where id="&id '删除,id提交的id号

Dim objFSO '声明一个名称为 objFSO 的变量以存放对象实例

Set objFSO = ServerCreateObject("ScriptingFileSystemObject")

objFSODeleteFile ServerMapPath(pic),True 'pic为路径

Set objFSO = Nothing '释放

批量删除就复杂一点:

第一种方式--->先循环删除后,再循环删除数据库记录

第二种方式--->在循环的过程中同时删除和数据库记录

该代码已调试通过,要注意你必须有upload路径的写入权限

<%

'连接数据库,读取路径,数据库名:notesmdb,表名:table1,改成你自己的

Dim conn,connstr,rs,sql

Set conn=servercreateobject("ADODBConnection")

connstr="provider=MicrosoftJetOLEDB40;Data Source=" & ServerMapPath("notesmdb")

connOpen connstr

set rs=serverCreateObject("adodbrecordset")

sql="select Pic from table1"

rsopen sql,conn,1,1

'读取/upfile文件夹下的所有文件名

Dim objFSO,objFolder,objFile,FF

FF = ServerMapPath("upfile/")

Set objFSO = ServerCreateObject("ScriptingFileSystemObject")

If objFSOFolderExists(ff) Then

Set objFolder = objFSOGetFolder(ff)

'遍历upfile/下的所有文件夹

For Each subFolder in objFolderSubFolders

'遍历所有文件

For Each objFile in subFolderFiles

'去除部分路径

strFile=replace(right(objFile,len(objFile)-instr(objFile,"\upfile\")-7),"\","/")

ResponseWrite(strFile)

rsfilter="Pic='"&strFile&"'"

if rseof then

'文件在数据库中没有找到,直接删除。

'如果需要先显示确认后再删除,在这里把需要删除的文件加入一个数组,后再做 *** 作。

filename=objFilename

objFileDelete

ResponseWrite(filename&"已删除<br />")

end if

Next

Next

Else

ResponseWrite "文件夹"&ff&"不存在,无法读取相关信息!"

End If

Set objFolder = Nothing

Set objFSO = Nothing

rsClose

Set rs = nothing

%>

以上就是关于批量删除mysql数据库里没有记录的图片全部的内容,包括:批量删除mysql数据库里没有记录的图片、php 查找本地无效图片,并删除数据库记录、asp 删除数据库记录同时删除服务器里的相应图片等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9370719.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存