Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Удаление файлов из списка указанного в txt

Ответить
Настройки темы
Удаление файлов из списка указанного в txt

Пользователь


Сообщения: 99
Благодарности: 2

Профиль | Отправить PM | Цитировать


Изменения
Автор: blacks2
Дата: 24-08-2009
Есть нижеследующий пример.
К нему необходимо добавить функцию удаления директорий (и поддиректорий)

Смотрел http://ru.php.net/manual/en/function.ftp-rmdir.php и пробовал подставлять
примеры от туда. Не получалось.

Решил обратиться к вам за помощью.
Если у кого есть уже готовый вариант то готов перейти на него - не принципиально
главное чтоб работало

Всем откликнувшимся заранее большущие спасибо!

PHP код: Выделить весь код

<?php
ini_set
('display_errors'1);
ini_set('display_startup_errors'1);
error_reporting(E_ALL);

$ftp_user_name '*';
$ftp_user_pass '*';
$ftp_server '*';

$conn_id=ftp_connect($ftp_server);
$login_result=ftp_login($conn_id$ftp_user_name$ftp_user_pass);
if(
$login_result) echo 'Connected.<hr><br>';
$pathes=file('files_to_delete.txt');

foreach (
$pathes as $path)
{
    
$path=trim($path);
    if(
ftp_delete($conn_id$path))
    {
        echo 
'Deleted -> '.$path.'<br>';
    }
}

ftp_close($conn_id);

?>


Отправлено: 01:05, 24-08-2009

 

Пользователь


Сообщения: 99
Благодарности: 2

Профиль | Отправить PM | Цитировать


Спасибо.
Но работает на половину:
Цитата:
Из файла прочитанны следующие файлы
Array ( [0] => public_html/del2/ez/3/ [1] => public_html/del2/ez/3/1.html ) Результат работы:

Warning: ftp_delete() [function.ftp-delete]: public_html/del2/ez/3/: Operation not permitted in /home/user/www/site/public_html/del2/del.php on line 22
Не удалось удалить public_html/del2/ez/3/
Warning: ftp_rmdir() [function.ftp-rmdir]: public_html/del2/ez/3/: Operation not permitted in /home/user/www/site/public_html/del2/del.php on line 30
Не удалось удалить директорию public_html/del2/ez/3/ Файл public_html/del2/ez/3/1.html удален
files_to_delete.txt
Цитата:
public_html/del2/ez/3/
public_html/del2/ez/3/1.html

Отправлено: 20:17, 26-08-2009 | #11



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


PHP код: Выделить весь код

<?php 

ini_set
('display_errors'1); 
ini_set('display_startup_errors'1); 
error_reporting(E_ALL); 

$ftp_user_name '*'
$ftp_user_pass '*'
$ftp_server '*'

$conn_id=ftp_connect($ftp_server); 
$login_result=ftp_login($conn_id$ftp_user_name$ftp_user_pass); 
if(!
$login_result) echo 'No connected.<hr><br>'
$pathes=file('files_to_delete.txt'); 
echo 
'Из файла прочитанны следующие файлы <br>'
print_r ($pathes); 
echo 
'-------------<br>Перед выполнением скрипта: <br>';  
// получение списка файлов директори /
$buff ftp_rawlist($conn_id'/');

// вывод буфера
var_dump($buff);

echo 
'-------------<br>Результат работы: <br>'



foreach (
$pathes as $path

    
$path=trim($path); 
    if(
ftp_delete($conn_id$path)) 
    { 
        echo 
"<br>Файл $path удален\n"
    } 
    else 
    { 
        echo 
"<br>Не удалось удалить $path\n";
        
        if (
ftp_rmdir($conn_id$path)) 
        {
            echo 
"<br>Директория $path удалена\n";
        } 
        else 
        {
            echo 
"<br>Не удалось удалить директорию $path\n";
        }
    } 
     


// получение списка файлов директори /
$buff ftp_rawlist($conn_id'/');

// вывод буфера
var_dump($buff);

ftp_close($conn_id); 

?>

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 21:46, 26-08-2009 | #12


Пользователь


Сообщения: 99
Благодарности: 2

Профиль | Отправить PM | Цитировать


не удаляет:

Цитата:
Из файла прочитанны следующие файлы
Array ( [0] => public_html/del2/ez/3/ [1] => public_html/del2/ez/3/1.html ) -------------
Перед выполнением скрипта:
array(4) { [0]=> string(56) "drwxr-xr-x 4 user www 512 Nov 14 2008 ." [1]=> string(57) "drwxr-xr-x 4 user (?) 512 Nov 14 2008 .." [2]=> string(62) "drwxr-xr-x 2 user (?) 512 Nov 14 2008 cgi-bin" [3]=> string(66) "drwxr-xr-x 16 ligeja (?) 512 Aug 26 17:39 public_html" } -------------
Результат работы:

Warning: ftp_delete() [function.ftp-delete]: public_html/del2/ez/3/: Operation not permitted in /home/user/www/site/public_html/del2/del.php on line 32

Не удалось удалить public_html/del2/ez/3/
Warning: ftp_rmdir() [function.ftp-rmdir]: public_html/del2/ez/3/: Operation not permitted in /home/user/www/site/public_html/del2/del.php on line 40

Не удалось удалить директорию public_html/del2/ez/3/
Файл public_html/del2/ez/3/1.html удален array(4) { [0]=> string(56) "drwxr-xr-x 4 user (?) 512 Nov 14 2008 ." [1]=> string(57) "drwxr-xr-x 4 user (?) 512 Nov 14 2008 .." [2]=> string(62) "drwxr-xr-x 2 user (?) 512 Nov 14 2008 cgi-bin" [3]=> string(66) "drwxr-xr-x 16 user (?) 512 Aug 26 17:39 public_html" }

Отправлено: 21:51, 26-08-2009 | #13


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


PHP код: Выделить весь код

<?php 

ini_set
('display_errors'1); 
ini_set('display_startup_errors'1); 
error_reporting(E_ALL); 

$ftp_user_name '*'
$ftp_user_pass '*'
$ftp_server '*'

$conn_id=ftp_connect($ftp_server); 
$login_result=ftp_login($conn_id$ftp_user_name$ftp_user_pass); 
if(!
$login_result) echo 'No connected.<hr><br>'

$dir 'blacks33';

if (
ftp_mkdir($conn_id$dir)) 
{
    echo 
"<br>Создана директория $dir\n";

else 
{
    echo 
"<br>Не удалось создать директорию $dir\n";
}

// получение списка файлов директори /
$buff ftp_rawlist($conn_id'/public_html/del2/ez'true);

// вывод буфера
var_dump($buff);

if (
ftp_rmdir($conn_id$dir)) 
{
    echo 
"<br>Директория $dir удалена\n";

else 
{
    echo 
"<br>Не удалось удалить директорию $dir\n";
}



ftp_close($conn_id); 

?>

Ответ оформить тегом скрытого текста.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 23:51, 26-08-2009 | #14


Пользователь


Сообщения: 99
Благодарности: 2

Профиль | Отправить PM | Цитировать



Вот что получается:
Цитата:
Warning: ftp_mkdir() [function.ftp-mkdir]: blacks33: Operation not permitted in /home/user/www/site/public_html/del2/del.php on line 16


Не удалось создать директорию blacks33 array(17) { [0]=> string(56) "drwxrwxr-x 3 user www 512 Aug 25 03:20 ." [1]=> string(57) "drwxrwxr-x 3 user (?) 512 Aug 25 03:20 .." [2]=> string(64) "-rw-r--r-- 1 user (?) 0 Aug 26 16:13 .htaccess" [3]=> string(61) "-rw-r--r-- 1 user (?) 94 Aug 26 16:13 1.html" [4]=> string(61) "-rw-r--r-- 1 user (?) 94 Aug 26 16:13 2.html" [5]=> string(56) "drwxrwxr-x 2 user (?) 512 Aug 26 17:50 3" [6]=> string(61) "-rw-r--r-- 1 user (?) 94 Aug 26 16:13 3.html" [7]=> string(65) "-rw-r--r-- 1 user (?) 94 Aug 26 16:13 index.html" [8]=> string(0) "" [9]=> string(23) "/public_html/del2/ez/3:" [10]=> string(56) "drwxrwxr-x 2 user (?) 512 Aug 26 17:50 ." [11]=> string(57) "drwxrwxr-x 3 user (?) 512 Aug 25 03:20 .." [12]=> string(64) "-rw-r--r-- 1 user (?) 0 Aug 26 16:14 .htaccess" [13]=> string(61) "-rw-r--r-- 1 user (?) 94 Aug 26 16:14 2.html" [14]=> string(61) "-rw-r--r-- 1 user (?) 94 Aug 26 16:14 3.html" [15]=> string(62) "-rw-r--r-- 1 user (?) 2139 Aug 25 04:16 del.php" [16]=> string(65) "-rw-r--r-- 1 user (?) 94 Aug 26 16:14 index.html" }
Warning: ftp_rmdir() [function.ftp-rmdir]: blacks33: Operation not permitted in /home/user/www/site/public_html/del2/del.php on line 31


Не удалось удалить директорию blacks33

Отправлено: 00:25, 27-08-2009 | #15


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


Получается что нет прав на создание и удаление директорий.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 08:29, 27-08-2009 | #16


Пользователь


Сообщения: 99
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Igor_I:
Получается что нет прав на создание и удаление директорий. »
Подскажите почему так получается?
CHMOD? - так он там 775 на папке

Попробовал в последии три приведенных вами примера добавить ftp_pasv($conn, true);

получалось нечто подобное:
Код: Выделить весь код
$login_result=ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 
if(!$login_result) echo 'No connected.<hr><br>';
ftp_pasv($conn, true);
Но опять - положительного результата так и не получилось

Отправлено: 18:07, 27-08-2009 | #17


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


Так поставь 0777.
Проверил скрипт - работает. Ищи сам на фтп, что не так.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 22:20, 27-08-2009 | #18


Пользователь


Сообщения: 99
Благодарности: 2

Профиль | Отправить PM | Цитировать


Цитата Igor_I:
Так поставь 0777.
Везде поставил 777, на все! - тоже самое

Цитата Igor_I:
Проверил скрипт - работает. Ищи сам на фтп, что не так
Спасибо за проверку.
Что смотреть ума не приложу.
Попробую с саппортом поговорить

Если не сложно приаттач файл с той версией которую тестил - рабочию.
- Мож я что-то всетаки с файлом намутил не то

Отправлено: 04:30, 28-08-2009 | #19


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


PHP код: Выделить весь код

<?php 

ini_set
('display_errors'1); 
ini_set('display_startup_errors'1); 
error_reporting(E_ALL); 

$ftp_user_name 'ig'
$ftp_user_pass 'ig'
$ftp_server '192.168.0.2'

$conn_id=ftp_connect($ftp_server); 
$login_result=ftp_login($conn_id$ftp_user_name$ftp_user_pass); 
if(!
$login_result) echo 'No connected.<hr><br>'

$dir 'blacks33';

if (
ftp_mkdir($conn_id$dir)) 
{
    echo 
"<br>Создана директория $dir\n";

else 
{
    echo 
"<br>Не удалось создать директорию $dir\n";
}

// получение списка файлов директори /
$buff ftp_rawlist($conn_id'/public_html/del2/ez'true);

// вывод буфера
var_dump($buff);
/*
if (ftp_rmdir($conn_id, $dir)) 
{
    echo "<br>Директория $dir удалена\n";

else 
{
    echo "<br>Не удалось удалить директорию $dir\n";
}
  */


ftp_close($conn_id); 

?>

Созданная директория имеет права 0755, владелец - nobody, группа - www
Сервер - pure-ftp, v1.0.22

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 10:53, 28-08-2009 | #20



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Удаление файлов из списка указанного в txt

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Объединение/разделение txt файлов AlexeyN Программное обеспечение Windows 6 27-11-2012 09:40
Система - Установка и удаление програм RVGroup Программное обеспечение Windows 57 31-12-2010 15:39
Скрипт для проверки списка пользователей и их удаление из AD alex_frog Microsoft Windows NT/2000/2003 0 22-07-2009 13:16
C/C++ - Создание списка файлов Albreht Программирование и базы данных 2 20-07-2009 01:17
Обратный порядок списка файлов Guest Microsoft Windows 95/98/Me (архив) 31 19-02-2004 00:07




 
Переход