fixperms.php

Коли «ДокуВікі» створює файли, вони створюються від імені веб-сервера. Якщо дозволи встановлені неправильно і у вас є лише FTP-доступ до хостингу, то може виникнути ситуація, коли ви не зможете видалити файли, створені ДокуВікою. Наведений нижче скрипт допоможе вам повернути контроль над файлами та папками та виставити їм правильні права. Просто покладіть цей скрипт у кореневу директорію своєї вікі та запустіть, відкривши бразуером.

:!: Використовуйте цей скрипт лише якщо ви розумієте, що робите.

fixperms.php
<?php
/**
 * Якщо ви знаєте цей файл це буде зробити всі файли і directories
 * in it's own directory and all directories below writable by
 * everyone
 *
 * Ви можете використовувати це (re)gain control on files owned by the
 * apache process.
 *
 * Тільки 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);
   }
}
?>