Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Пт Сен 12, 2008 3:08 pm Заголовок сообщения: полезные скрипты |
|
|
Не могу удалить каталог. Permission denied.
Ответ:
Скорее всего, каталог или файл был создан PHP-скриптом и имеет owner'а nobody, соответственно не подлежит удалению от вашего имени. Удалить такой каталог со всем содержимым можно скриптом примерно такого вида:
<?
$deldir = "ПУТЬ_К_ДИРЕКТОРИИ";
rmdirr($deldir);
function rmdirr($dirname)
{
if (!file_exists($dirname)) {
return false;
}
if (is_file($dirname)) {
return unlink($dirname);
}
$dir = dir($dirname);
while (false !== $entry = $dir->read()) {
if ($entry == '.' || $entry == '..') {
continue;
}
rmdirr("$dirname/$entry");
}
$dir->close();
return rmdir($dirname);
}
?>
Скрипт следует вызывать через браузер. В переменной $deldir в начале скрипта следует указать путь к удаляемой директории относительно того места, откуда вызывается скрипт. Будут удалены все файлы и подкаталоги, принадлежащие nobody. |
|
Вернуться к началу |
|
|
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Пт Сен 12, 2008 3:08 pm Заголовок сообщения: |
|
|
Для копирования файлов в php применяется функция copy ($source, $result). Ей нужно передать лишь два параметра - источник $source и имя файла-копии - $result. Стоит отметить, что следует указывать полные адреса к файлам. Пример применения функции copy:
<?php
if (copy('Z:/home/site/www/file.txt', 'Z:/home/site/www/file2.txt'))
{ echo "Копирование успешно выполнено"; }
else
{ echo "Ошибка при копировании"; }
?>
Удаление файлов php выполняется еще легче, для этого существует функция unlink ($file). Думаю, все просто и ясно - она удаляет указанный файл (будьте предельно осторожны!), пример использования:
<?php
if (unlink('filename.txt'))
{ echo "Файл удален"; }
else
{ echo "Ошибка при удалении файла"; }
?> |
|
Вернуться к началу |
|
|
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Чт Окт 09, 2008 11:16 pm Заголовок сообщения: |
|
|
скрипт замены строк в файлах
#!/bin/bash
#
src= /путь
txt_find=что меняем
txt_repl=на что меняем
cfgreplace(){
ed - $1 <<**
g/$2/s//$3/g
w
q
**
}
for file in `find $src -type f` ; do
echo -n "trying $file ..."
cfgreplace $file $txt_find $txt_repl
# chattr +i $file
echo "done"
done |
|
Вернуться к началу |
|
|
|