1、清除缓存文件
缓存可以减轻服务器和数据库压力,但内容得不到及时的更新,这里总结常用的几个文件操作函数,用于清除缓存文件
/* $dirName 文件存放的路径 $file 文件 */
function delDirAndFile($dirName){ if($dir=opendir($dirName)){ while(($file=readdir($dir))!==false){ if($file!="." && $file!=".."){ if(is_dir("$dirName/$file")){ delDirAndFile("$dirName/$file"); }else{ unlink("$dirName/$file"); echo "$dirName/$file 清除完成!</br>"; } } } closedir($dir); echo "..缓存已清除完毕!</br>"; }else{ echo "文件不存在或已清除</br>"; } }
如: 这是ThinkPHP清除缓存文件的用法
public function del(){ $this->delDirAndFile(APP_PATH.'Runtime/Cache/Home');//删除home模块下的缓存文件 }
2、删除图片
当删除不用的商品的时候,有些网站没有删除处理,这样浪费了服务器的资源,这里总结了删除图片和批量删除图片两个函数
A、 删除一个图片
/* $filename 文件路径 */
PHP
function delimg($filename){ if(is_file($filename)){ if(unlink($filename)){ return true; }else{ return false; } }else{ return false; }}
B、批量 图片
/* $path 文件路径 $arr 全部文件 */
function delallimg($path,$arr){ $arr=explode(',',$arr); foreach($arr as $k=>$v){ if(is_file($path.$v)){ unlink($path.$v); } }}
如:这是ThinkPHP删除图片的用法
//删除全部主图 public function delmain(){ $id=$this->_get('id','intval'); $db=M('Product'); $photo=$db->where('id ='.$id)->getField('photo'); delallimg('../Uploads/',$photo); if ($db->where('id ='.$id)->setField('photo','')) { $this->success('删除成功'); }else{ $this->error('删除失败'); } }