Скрипт для очистки заданной директории

В категорії Підказки от 24 Червня, 2011. Автор admin

< ?php

if ($cache_folder = opendir(‘/abs_path_to_cache_folder/’)) {
while (false !== ($file = readdir($cache_folder))) {
if ($file != “.” && $file != “..”) {
unlink (“/abs_path_to_cache_folder/$file”);
}
}
closedir($cache_folder);
}
?>

Теги:

Установка DNS сервера (bind) в окружении chroot

В категорії Підказки от 24 Червня, 2011. Автор admin

Далее устанавливаем ДНС сервер в chroot окружении:
yum install bind-chroot

И настраиваем его:
chmod 755 /var/named/
chmod 775 /var/named/chroot/
chmod 775 /var/named/chroot/var/
chmod 775 /var/named/chroot/var/named/
chmod 775 /var/named/chroot/var/run/
chmod 777 /var/named/chroot/var/run/named/
cd /var/named/chroot/var/named/
ln -s ../../ chroot

Включаем старт ДНС сервера при старте системы:
chkconfig –levels 235 named on

И запускаем ДНС:
service named start

ДНС сервер запустится в chrot окружении в /var/named/chroot/var/named/. Его будет использовать ISPConfig для конфигурирования доменных зон.

Теги: ,

Вывод списка файлов из диреткории

В категорії Підказки от 24 Червня, 2011. Автор admin

Для очередного проекта на MODx мне понадобилось вывести список файлов из указанной директории с указанием размера файла и даты создания файлов.

<?php

function formatBytes($b,$p = null) {
/**
*
* @author Martin Sweeny
* @version 2010.0617
*
* returns formatted number of bytes.
* two parameters: the bytes and the precision (optional).
* if no precision is set, function will determine clean
* result automatically.
*
**/
$units = array(“B”,”kB”,”MB”,”GB”,”TB”,”PB”,”EB”,”ZB”,”YB”);
$c=0;
if(!$p && $p !== 0) {
foreach($units as $k => $u) {
if(($b / pow(1024,$k)) >= 1) {
$r[“bytes”] = $b / pow(1024,$k);
$r[“units”] = $u;
$c++;
}
}
return number_format($r[“bytes”],2) . ” ” . $r[“units”];
} else {
return number_format($b / pow(1024,$p)) . ” ” . $units[$p];
}
}

//    @author Max Rogalsky

// директория с файлами
// знаю что некрасиво в конце со слешем,
// но пришлось делать буквально на коленке
$downloads = ‘files/’;
$i = 0;
// открываем директорию
$handle = opendir ($downloads);
// читаем содержимое каталога
while($file = readdir($handle))
{
if ($file != ‘.’ && $file != ‘..’)
{
$files[$i] = $file;    //формируем массив файлов
$i++;
}
}
// сортируем в алфавитном порядке
sort ($files);

for ($f = 0; $f<sizeof($files); $f++)
{
// выводим ссылку на файл
echo “<a href='”.$downloads.$files[$f].”‘>”.$files[$f].”</a>\n”;
// получаем размер файла
$f_size = filesize($downloads.$files[$f]);
// получаем дату создания файла
$f_time = date(“d-m-Y”, filemtime($downloads.$files[$f]));
// выводим с помощью функции formatBytes размер файла и дату
echo “size:”.formatBytes($f_size).”&nbsp;date:”.$f_time;
echo “<br>”;
}
?>

Теги: