『壹』 如何向資料庫中插入和刪除圖片
看看下面這行代碼:
___________________
<a href="good_info.jsp?id=<%= rs.getString("good_id")%>">
<img src="<%= rs.getString("good_image")%>">
</a>
___________________
首先需要說明的是在該行之前已經打開資料庫,並且生成記錄集rs,
<img src="<%= rs.getString("good_image")%>">的功能就是從記錄集的"good_image"欄位(實際就是圖片存儲的路徑,VARCHAR類型)獲取字元串輸出在客戶端,所以就得到了
<img src="imgpath">圖片路徑須是相對路徑.
___________________
把圖片數據直接存儲在資料庫的情形在大型系統也是有的,不過我並不清楚,無法介紹.
『貳』 PHP怎麼刪除資料庫里的圖片路徑同時,刪除文件夾下對應的圖片
php+mysql刪除圖片在資料庫記錄的同時刪除圖片文件舉例說明:
<Ahref="?act='mypicdel&id=<?=$row['id']?>"style="color:#FF0000;"onClick="returnconfirm('確定要刪除嗎')">刪除</A>
if($act=='mypicdel')
{
$id=!empty($_GET['id'])?intval($_GET['id']):'';
//$filename為你的圖片地址,是從資料庫里讀出的
$sql="SELECT*FROMwkcx_userWHEREid=$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"<script>alert('有誤');window.go(-1)</script>"
exit;
}
$sql="UPDATEwkcx_userSETavatar='',small_img=''WHEREid='$id'";//我這個是頭像,所以修改為空,如果是圖片,直接刪除就可以了
$db->query($sql);
urlMsg('刪除成功','my_photo.php');//同上,我封裝了,就是一個提示+跳轉!
$sql="DELETEFROMwkcx_user_picWHEREid='$id'";//圖片的時候,直接刪除圖片記錄!
$db->query($sql);
urlMsg('刪除成功','my_photo.php');
}
備註:一定要注意,先刪除圖片文件,在刪除資料庫記錄!
『叄』 SQL資料庫中的圖片怎麼刪除,
用update語句
update a set a.pictureimg=null from pictuelist a where a.pictueid=?
『肆』 在PHP中刪除資料庫MYSql里的圖片路徑欄位,如何實現一並刪除文件夾下的對應圖片
?php
//在刪除文件夾中文件時候如果刪除整個文件夾必須是在文件夾中沒有文件的情況下才可以刪除此文件夾所以首先要檢查文件夾中是否有文件,如果有文件先循環除文件個數及名稱先刪除然後才能刪除此文件夾,要是只刪除一個圖片或一個文本文件那麼就只用unlink()這個函數就可以解決了以下是說明希望能幫到你
//opendir('imag/a')返回所有在文件夾中的文件
//readdir($handle)返迴文件名稱得到文件名就可以刪除了
$sql="select
*
from
proct
where
id=1";
$r=mysql_query($sql);
$r['psmall'];//得到圖片路徑
mysql_query("delete
from
proct
where
id=1");//刪除商品
//如果要單獨刪除這個圖片直接用unlink($r['psmall']);
//如果要把這件商品下關聯的商品圖片也刪除用下面代碼
$imgurl="upload";//或者是
如下
//$imgurl="upload/商品文件夾";//刪除商品文件夾下所有商品圖片
/*if
($handle
=
opendir($imgurl))
{
while
(false
!==
($file
=
readdir($handle)))
{
if
($file
!=
"."
&&
$file
!=
"..")
{
echo
"$file
";
unlink($imgurl."/$file");
}
}
closedir($handle);
}*/
?
『伍』 mysql資料庫裡面刪除圖片
看看你視圖的創建語句
是不是一個連接查詢建立的,還有這個視圖是不是只讀的
如果是連接查詢創建的視圖的話,你這么操作的話刪除的可能不止是一個表裡的數據,資料庫為了保證數據的完整性,不會允許你這么做。如果是只讀的話,當然也就是只有讀許可權。
不過看報錯,你這應該是第一種情況,所以,你只能從這個構建這個視圖的表裡逐步刪除數據,才能把你要刪除視圖的數據刪除,這么說懂嗎?
『陸』 批量刪除mysql資料庫里沒有記錄的圖片
<?
$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." ";}
}
?>
『柒』 如何刪除資料庫沒用到的圖片
我想來想去,你問的問題可能是這樣的:
你的網站中許多文章是從別的網站採集過來的
然後有些圖片死鏈了,你想把這些死鏈的圖片URL從資料庫中刪掉或批量替換掉
是不是?
DO WHILE NOT RS.EOF
一:把資料庫的一行拉出來,找到圖片所在的正文欄位
二:把欄位中的圖片地址拉出來.JPG GIF
每個圖片地址做一次下載.判斷下載的文件的大小
如正常則留下,不正常則刪掉或替換成新的地址
rs.movenext
loop
中間的下載代碼可以做個過程這樣會省事點
當然這只是演示,真的要來,因為操作過時的問題.還要加個分段.比方說每完成100條記錄,讓伺服器休息一下:)要不然程序會死的
回答補充:
我空間中有些圖片,沒有在網頁上使用。要刪除之
這樣更簡單,用dreamweaver自帶的站點管理器
[站點]==》檢查站點范圍內的鏈接==》鏈接管理器==》
下拉菜單選:孤立文件
然後等結果出來後,所有你的網站中孤立的沒有用的文件都列出來了。選中後綴後為JPG和GIF的刪掉!
當然如果資料庫里有本地圖片地址要先做個小程序把裡面的地址導出來成一個正常的HTM文件。
可能說得不是很詳細,但我覺得你應該能看得懂的。
這個過程就好比是優化大師和兔子里的清除垃圾文件一樣 ~_~
『捌』 asp怎樣清除資料庫ACCESS中沒有記錄的圖片
該代碼已調試通過,要注意你必須有upload路徑的寫入許可權
<%
'連接資料庫,讀取圖片路徑,資料庫名:notes.mdb,表名:table1,改成你自己的
Dim conn,connstr,rs,sql
Set conn=server.createobject("ADODB.Connection")
connstr="provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("notes.mdb")
conn.Open connstr
set rs=server.CreateObject("adodb.recordset")
sql="select Pic from table1"
rs.open sql,conn,1,1
'讀取/upfile文件夾下的所有文件名
Dim objFSO,objFolder,objFile,FF
FF = Server.MapPath("upfile/")
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(ff) Then
Set objFolder = objFSO.GetFolder(ff)
'遍歷upfile/下的所有文件夾
For Each subFolder in objFolder.SubFolders
'遍歷所有文件
For Each objFile in subFolder.Files
'去除部分路徑
strFile=replace(right(objFile,len(objFile)-instr(objFile,"\upfile\")-7),"\","/")
Response.Write(strFile)
rs.filter="Pic='"&strFile&"'"
if rs.eof then
'文件在資料庫中沒有找到,直接刪除。
'如果需要先顯示確認後再刪除,在這里把需要刪除的文件加入一個數組,後再做操作。
filename=objFile.name
objFile.Delete
Response.Write(filename&"已刪除<br />")
end if
Next
Next
Else
Response.Write "文件夾"&ff&"不存在,無法讀取相關信息!"
End If
Set objFolder = Nothing
Set objFSO = Nothing
rs.Close
Set rs = nothing
%>
『玖』 如何刪除資料庫記錄時候把文件夾中的圖片也刪掉
按照資料庫中的路徑
直接使用文件對象(FSO)刪除就可以了
『拾』 asp:如何刪除資料庫的數據同時並刪除圖片
可使用FSO對象刪除文件.
根據你圖片的proctid,獲取該圖片的路徑,賦值給Path.
<%
DelteAFile(path)
Sub DeleteAFile(path)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile(path)
set fso=nothing
End Sub
%>
======================
呵呵,終於搞定,分數吖分數吖........