网上很多用php实现gz压缩输出js&css的文章,都把压缩文件存到一个文件夹里,可是却没有介绍手动删缓存的方法,每次FTP进去太麻烦了,所以就摸索着写了一个方法。 删除文件的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);
}
}
}
}
要做点安全措施。。。不能让所有人都删,得只能是登录的管理员才能删
if ( is_user_logged_in() ) {
if(current_user_can('level_10')){
deldir('/home/username/public_html/wp-cache');
echo('Cache Deleted!');
}
这样代码逻辑上就通了,但是怎么挂进wordpress里呢。。。不会做插件,我只能通过自定义页面来挂进来 把下面的写好的代码保存成delcache.php放进主题的根目录里,然后新建页面,设为私有不公开,模板选择del-cache,发布就可以了。 这样用管理员帐户访问这个非公开页面就会刷新缓存,而guest或者非管理员帐户就返回404了。
/*
Template Name: del-cache
*/
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);
}
}
}
}
if ( is_user_logged_in() ) {
if(current_user_can('level_10')){
deldir('/home/username/public_html/wp-cache');
echo('Cache Deleted!');
}
}
?>