php里删除数据库里图片路径的同时删除对应文件夹下的图片
<?include("config.inc.php");include("function.php");include("in.php");$conn=mysql_con...
<?
include("config.inc.php");
include("function.php");
include("in.php");
$conn=mysql_connect($YIHOST,$YIUSER,$YIPASS);
mysql_query("set names gbk");
mysql_select_db($YINAME);
if (empty($_GET['id']))
{
mysql_close();
echo "<script>alert('非法提交!请重新提交!');history.back();</script>";
exit;
}
$YID=htmlencode2($_GET['id']);
$exec="delete from ytp where YYH=$YHID and YID=$YID";
mysql_query($exec);
mysql_close();
echo "<script>alert('删除成功!');history.back();</script>";
exit;
?>
上面是图片删除的源文件,里面只删除数据库里的图片地址,文件夹里的不删除,我想加一个同时删除文件夹里对应图片的代码,不会。。。。
unlink该怎么写啊?研究好几天了没研究出来。帮忙写个详细点的。。。。谢谢
数据库里图片存放表是YTP,ID是YID,同时存大图和小图,分别为YDT和YXT,图片存放地址为根目录下2012/b/和2012/S/ 展开
include("config.inc.php");
include("function.php");
include("in.php");
$conn=mysql_connect($YIHOST,$YIUSER,$YIPASS);
mysql_query("set names gbk");
mysql_select_db($YINAME);
if (empty($_GET['id']))
{
mysql_close();
echo "<script>alert('非法提交!请重新提交!');history.back();</script>";
exit;
}
$YID=htmlencode2($_GET['id']);
$exec="delete from ytp where YYH=$YHID and YID=$YID";
mysql_query($exec);
mysql_close();
echo "<script>alert('删除成功!');history.back();</script>";
exit;
?>
上面是图片删除的源文件,里面只删除数据库里的图片地址,文件夹里的不删除,我想加一个同时删除文件夹里对应图片的代码,不会。。。。
unlink该怎么写啊?研究好几天了没研究出来。帮忙写个详细点的。。。。谢谢
数据库里图片存放表是YTP,ID是YID,同时存大图和小图,分别为YDT和YXT,图片存放地址为根目录下2012/b/和2012/S/ 展开
1个回答
展开全部
unlink()
删除文件。
语法: int unlink(string filename);
返回值: 整数
函数种类: 文件存取
内容说明
本函数删除文件 filename,用法像 UNIX 中 C 语言呼叫的同名函数 unlink()。当发生错误则返回 0 或 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);
?>
删除文件。
语法: int unlink(string filename);
返回值: 整数
函数种类: 文件存取
内容说明
本函数删除文件 filename,用法像 UNIX 中 C 语言呼叫的同名函数 unlink()。当发生错误则返回 0 或 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);
?>
追问
非常个感谢你的回答,我不想删整个文件夹,我就想在前台删除图片的同时删除已经上传的对应的那个图片,其中的select该怎么写?如何获取指定文件的路径并删除,语法不会啊。。。
追答
php+mysql 删除图片在数据库记录的同时删除图片文件举例说明:
" style="color:#FF0000;" onClick="return confirm('确定要删除吗')">删除
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 "alert('有误');window.go(-1)"
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');
}
备注:一定要注意,先删除图片文件,在删除数据库记录!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询