用户工具

站点工具


dokuwiki:delete-dokuwiki-generated-file

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

dokuwiki:delete-dokuwiki-generated-file [2010/06/02 01:18]
dokuwiki:delete-dokuwiki-generated-file [2010/06/02 01:18] (当前版本)
行 1: 行 1:
 +====== 如何删除dokuwiki生成的文件 ======
  
 +dokuwiki会生成很多文件,包括meta,cache文件等等,当你想删除这些文件的时候,你会发现你没有写权限。
 +
 +这是由于dokuwiki生成的文件是Linux/​Unix系统给Apache的权限,可能会和你的FTP权限不一样,这时候你就不能删除dokuwiki生成的文件了。
 +
 +下面的php文件可以将这个php文件所在目录下所有的文件,文件夹的权限改为777,这样你就可以通过FTP来删除Dokuwiki所生成的文件
 +
 +
 +:!: 当且仅当你明白下面文件内容时才使用这个文件!
 +<code php>
 +<?php
 +/**
 + * When you call this file it will make all files and directories
 + * in it's own directory and all directories below writable by
 + * everyone
 + *
 + * You can use this to (re)gain control on files owned by the
 + * apache process.
 + *
 + * Only use it if you really know that this is what you want.
 + * Delete the file immediately after using it!
 + */
 +
 +header("​Content-Type:​ text/​plain"​);​
 +
 +echo "​starting...\n";​
 +flush();
 +traverse(dirname(__FILE__));​
 +echo "​finished...\n";​
 +
 +function traverse($dir){
 +    if ($dh = opendir($dir)) {
 +        while (($file = readdir($dh)) !== false) {
 +            //skip hidden files and upper dirs
 +            if(preg_match('/​^[\._]/',​$file)) continue;
 +            if(is_dir($dir.'/'​.$file)){
 +                if(@chmod($dir.'/'​.$file,​0777)){
 +                    echo "chmod 0777 $dir/$file OK\n";
 +                }else{
 +                    echo "chmod 0777 $dir/$file FAILED\n";​
 +                }
 +                flush();
 +                traverse($dir.'/'​.$file);​
 +                continue;
 +            }
 +            if(@chmod($dir.'/'​.$file,​0666)){
 +                echo "chmod 0666 $dir/$file OK\n";
 +            }else{
 +                echo "chmod 0666 $dir/$file FAILED\n";​
 +            }
 +            flush();
 +       }
 +       ​closedir($dh);​
 +   }
 +}
 +?>
 +</​code>​
dokuwiki/delete-dokuwiki-generated-file.txt · 最后更改: 2010/06/02 01:18 (外部编辑)