
<
$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 删除数据库记录同时删除服务器里的相应图片等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)