Скачивание файла и отправка на мыло по cron

Тема в разделе "PHP", создана пользователем o_nix, 27 мар 2009.

Модераторы: latteo
  1. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    Думаю многие интерисуются спортом и читают например СпортЭкспресс
    Свежий выпуск ежедневно выкладывают здесь
    http://archive.sport-express.ru/pdf/20090327.zip
    где название файла соответствует текущей дате.

    Вопрос как реализовать через cron ежедневное скачивание и отправку этого файла на мыло (с разбивкой по частям .. например по 1мб... большего размера хост сволоч неотсылает)...

    На работе у меня лимит трафа и какбы я его не экономил мне всёравно нехватает на месяц и сижу через gprs... такчто просто качать невариант ... да и геморно заниматься этим каждый день ...

    Сейчас скачиваю через phpRapidGet и отправляю себе на корпаративную почту ... RG шлёт автоматом после скачки и сам разбивает файлы на куски...

    Интерисует как можно чарез cron скармливать RG ссылку с переменным именем файла ... Я тут извращаюсь с wget но чтото пока ваще нефига невыходит ...

    Ну или предложите любой иной способ заменитель ...

    Спасибо...
     
  2. Sergikus

    Sergikus Писатель

    Регистр.:
    24 фев 2009
    Сообщения:
    5
    Симпатии:
    0
    Напиши php скрипт, который скачивает файл и отправляет его по почте. Повесь этот скрипт на крон и будет тебе счастье...
     
  3. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    На сколько я понял главная проблема не в отправке, а в разбитии на части... Вот отрыл у себя функцию. Писал не я где-то отрыл в свое время...
    PHP:
    <?php
    function SplitFile($File$Out$Prefix '%oldname.part-%i') {
        
    $CheckSum   md5_file($File);
        
    $Size  filesize($File);
        
    $BlockSize  round($Size $Out);
        
    $_fh_infile fopen($File"rb") or die('Cannot open file');
        
    $i  1;
        while(!
    feof($_fh_infile)) {
      
    $NextBlock  fread($_fh_infile$BlockSize);
      
    $NextFile  str_replace(array('%i''%oldname'), array($i$File), $Prefix).'.sf';
      
    $_fh_outfile  fopen($NextFile"wb") or die('Cannot create new file');
      
    fputs($_fh_outfile$NextBlock) or die('Cannot write to out file');
      
    fclose($_fh_outfile);
      
    $i++;
        }
        
    fclose($_fh_infile);
        
    $_fh_checkfile  fopen($File.'.md5'"w");
        
    fputs($_fh_checkfile$CheckSum);
    }
    function 
    MergeFile($Param$OutFile$CheckFile$AutoSearch$Ext 'sf') {
        if(
    $AutoSearch) {
      
    $_fh_dir opendir($Param);
      while(
    $ar readdir($_fh_dir)) {
        if(
    preg_match("%^.*\.$Ext$%ui"$ar)) $Files[]  = $Param.'/'.$ar;
      }
        } else {
      
    $Files    $Param;
        }
        
    asort($Files);
        
    $_fh_outfile    fopen($OutFile"wb") or die('Cannot crete out file');
        while(
    $NextFile array_shift($Files)) {
      
    $_fh_infile   fopen($NextFile"rb");
      
    fputs($_fh_outfilefread($_fh_infilefilesize($NextFile))) or die('Cannot write to out file');
      
    fclose($_fh_infile);
        }
        
    fclose($_fh_outfile);
        
        
    $CheckSum   implode(''file($CheckFile));
        if(
    $CheckSum != md5_file($OutFile)) {
      echo 
    $CheckSum.'<br>'.md5_file($OutFile);
      die(
    'Merge file failed');
      
    unlink($OutFile);
        }
    }
    ?>
     
  4. midw0rk

    midw0rk Создатель

    Регистр.:
    1 окт 2008
    Сообщения:
    33
    Симпатии:
    7
    a_n_d_y, zip архив если таким методом разобьёшь и отправишь он потом не соберётся!

    Для разбивки zip архива на части лучше воспользоваться вот этим классом:


    Перейти по ссылке


    Разбить архив на части в определённой директории, потом считать файлы в этой директории и отправить, вот такой общий алгоритм
     
  5. Vladimirrr

    Vladimirrr Создатель

    Регистр.:
    15 авг 2007
    Сообщения:
    43
    Симпатии:
    1
    Интересует тот же вопрос только скачивать надо не файл, а заданную страничку и без нарезки на части (одним файлом). Извините, что в чужой теме - просто проблема почти та же. Спасибо.
     
  6. La5erWind

    La5erWind Писатель

    Регистр.:
    20 янв 2009
    Сообщения:
    7
    Симпатии:
    2
    Ну, это еще проще
    PHP:
    @mail  'email@email.com'  'Mail subject'  , @file_get_contents('http://some.url/some_page.html') )
    только надо чтобы хостер разрешал fopen к http
     
    alice2k и Vladimirrr нравится это.
  7. demon1486

    demon1486 Создатель

    Регистр.:
    4 дек 2009
    Сообщения:
    49
    Симпатии:
    4
    Приходит письмо с текстом.
    Можете подсказать как приатачить файл xml файл, и отравить его вложенный по почте.
    есть файл php (site.ru/yml/test.php)из которого формируется xml
    этот файл нужно отравить по почте.

    Спасибо!
     
  8. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    для отправки юзай эту либу
    там и аттачи и ещё много всего вкусного
    http://sourceforge.net/projects/phpmailer/files/phpmailer%20for%20php5_6/
     
  9. demon1486

    demon1486 Создатель

    Регистр.:
    4 дек 2009
    Сообщения:
    49
    Симпатии:
    4
    что-то не получается разобраться. можно готовый кусок кода для пхп
     
  10. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    За готовым куском кода к фрилансерам ;)