X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Скрипт для закачивания файлов с другого сайта
Чеснок
Чеснок
Topic Starter сообщение 27.12.2013, 4:24; Ответить: Чеснок
Сообщение #1


Народ, подскажите каким скриптом можно закачать себе на сайт 40000 файлов (примерно 100 гигов), смысл: кормлю ему список урлов (или рядом лежит link.txt) а он качает в папку в которой лежит сам то что я ему скормил. (как-то, а то время на исполнение скрипта не резиновое).


--------------------
Забанен за мошенничество
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
anchous
anchous
сообщение 27.12.2013, 4:48; Ответить: anchous
Сообщение #2


Чеснок, телепорт не? потом тупо копипастишь урлы с морды и аляулю


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Чеснок
Чеснок
Topic Starter сообщение 27.12.2013, 6:02; Ответить: Чеснок
Сообщение #3


телепорт десктопный, мне нужно на сайт сразу (в РБ исходящий канал 500килобит, я 100г заливать буду годы)

Нужно нечто наподобие PHP RapidGet Pro (только ни где не могу скачать)

Сообщение отредактировал Чеснок - 27.12.2013, 6:09


--------------------
Забанен за мошенничество
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ArhStrAngeR
ArhStrAngeR
сообщение 27.12.2013, 10:15; Ответить: ArhStrAngeR
Сообщение #4


(Чеснок @ 27.12.2013, 4:24) *
Народ, подскажите каким скриптом можно закачать себе на сайт 40000 файлов (примерно 100 гигов), смысл: кормлю ему список урлов (или рядом лежит link.txt) а он качает в папку в которой лежит сам то что я ему скормил. (как-то, а то время на исполнение скрипта не резиновое).

Я думаю вот это решит Вашу проблему.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Чеснок
Чеснок
Topic Starter сообщение 27.12.2013, 11:19; Ответить: Чеснок
Сообщение #5


ArhStrAngeR, Гугл решает многие мои проблеммы и я около суток занимаюсь этой. Мне интересен php скрипт который будет прост и не будет требовать колупания в консолях.


--------------------
Забанен за мошенничество
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
devuser
devuser
сообщение 27.12.2013, 17:25; Ответить: devuser
Сообщение #6


Чеснок, скрипт очень простой, за 10 минут написал в качестве разминки.
Но нужно, чтобы он не вылезал за max_execution_time в php.ini
Или запускать его из командной строки.

Читает все ссылки из links.txt
Создает в папке $subdir (в нашем случае /test) каталоги, как у источника.
В нашем случае файл jquery-1.8.3.min.js попадет в корень (в каталог /test), а файл html5.js будет лежать в каталоге /test/svn/trunk/
Каталог $subdir должен быть доступен для записи.

php
<?
    $subdir = '/test';
    $count = 0;

    $links = @file_get_contents('links.txt');
    if ($links) {
        $links = explode("\n", $links);
        if (count($links > 0)) {
            foreach ($links as $link) {
                $data = file_get_contents(trim($link));
                $filename = (strpos($link, '?') === false) ? parse_url($link) : parse_url(substr($link, 0, strpos($link, '?')));

                $dir = $_SERVER['DOCUMENT_ROOT'] . $subdir . substr($filename['path'], 0, strrpos($filename['path'], '/') + 1);
                $file = substr($filename['path'], strrpos($filename['path'], '/') + 1);
                @mkdir($dir, 0777, true);
                file_put_contents($dir . $file, $data);
                $count += 1;
            }
            echo 'Работа завершена. Сохранено файлов: ' . $count;
        } else {
            echo 'В файле links.txt нет ссылок';
        }
    } else {
        echo 'Файл links.txt не найден';
    }
?>


links.txt
http://code.jquery.com/jquery-1.8.3.min.js
http://html5shiv.googlecode.com/svn/trunk/html5.js


Сообщение отредактировал devuser - 27.12.2013, 17:26


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Чеснок
Чеснок
Topic Starter сообщение 28.12.2013, 0:40; Ответить: Чеснок
Сообщение #7


чтобы он не вылезал за max_execution_time в php.ini


Я тот ещё программер, но краем мозга догадываюсь, что скрипт должен выполняться (а выполняется он пока файл с ссылками не пуст?) меньше чем за max_execution_time? Как раччитать сколько времени ему понадобиться на закачку 50000 файлов?


--------------------
Забанен за мошенничество
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
devuser
devuser
сообщение 28.12.2013, 0:53; Ответить: devuser
Сообщение #8


Чеснок, есть возможность менять этот параметр?

Если через .htaccess, то так
php_value max_execution_time 0


И он станет без ограничений


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Чеснок
Чеснок
Topic Starter сообщение 28.12.2013, 1:13; Ответить: Чеснок
Сообщение #9


Ну если у меня есть возможность залить к себе 100 гигов, то это не фрихост )) изменю, я имею ввиду нет ли каких ограничений (а ну как сервер зависнет или ещё чегото там blush.gif )


--------------------
Забанен за мошенничество
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
devuser
devuser
сообщение 28.12.2013, 1:27; Ответить: devuser
Сообщение #10


Чеснок, да вроде не должен
В крон задание добавьте каждое 28 декабря в 4 часа ночи. Запустится в четыре ночи и будет ждать следующего года.

Хотя лучше руками проверить, на файле из 1000 ссылок, примерно, на коленке писал

Кстати, можно немного апгрейдить
Каждые 1000 файлов (задается в $log_when_count) будет писать в log.txt сколько скачал из скольки

<?
    $subdir = '/test';
    $count = 0;
    $log_when_count = 1000;

    $links = @file_get_contents('links.txt');

    if ($links) {
        $links = explode("\n", $links);
        if (count($links > 0)) {
            foreach ($links as $link) {
                $data = file_get_contents($link);
                $filename = (strpos($link, '?') === false) ? parse_url($link) : parse_url(substr($link, 0, strpos($link, '?')));

                $dir = $_SERVER['DOCUMENT_ROOT'] . $subdir . substr($filename['path'], 0, strrpos($filename['path'], '/') + 1);
                $file = substr($filename['path'], strrpos($filename['path'], '/') + 1);
                @mkdir($dir, 0777, true);
                file_put_contents($dir . $file, $data);
                $count += 1;
                if (($count % $log_when_count) == 0) {
                    $log = file_exists('log.txt') ? file_get_contents('log.txt') : '';
                    file_put_contents('log.txt', 'Скачано ' . $count . ' файлов из ' . count($links) . "\n" . $log);
                }
            }
            echo 'Работа завершена. Сохранено файлов: ' . $count;
        } else {
            echo 'В файле links.txt нет ссылок';
        }
    } else {
        echo 'Файл links.txt не найден';
    }
?>


Будет полезно для ручной корректировки, если что-то упадет. Удалили N строк из links.txt и заново запустили.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Сообщение отредактировал devuser - 28.12.2013, 1:29


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Посоветуйте массажер для спины и шеи
9 Boymaster 859 Сегодня, 13:56
автор: Vmir
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
14 Aloof 3335 Сегодня, 13:50
автор: Vmir
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыЛюблю творить! Статьи для вас
Копирайтинг- моя жизнь!
312 Zoya83 190637 Сегодня, 7:51
автор: DimonX
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыСовременный сервис для быстрого и безопасного обмена валют.
15 CryptoTims 4942 Вчера, 22:32
автор: CryptoTims
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
2 Rebex 817 Вчера, 20:04
автор: Rebex


 



RSS Текстовая версия Сейчас: 23.4.2024, 14:19
Дизайн