1. PHP / Говнокод #5088

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    #!/usr/bin/php5
     
    <?php
    set_time_limit(0);
    //include("crypt.php");
     
    exec("rm jtv.zip");
    exec("wget http://www.teleguide.info/download/new3/jtv.zip"); //скачать архив телепрограммы в формате itv.zip//
    exec("rm list/*.* "); //очистить каталог "list"//
    exec("unzip -x jtv.zip -d list "); //извлеч файлы из архива в папку "list"//
    sleep(3);
     
    $dir = "/home/tt/wwwplaylist/list/";
     
    exec("ls list | grep '.ndx'", $tmplist);
    $ch = array(
    1=>1,2=>2,3=>3,250=>195,241=>196,209=>197,177=>168,
    //170=>198,186=>199,191=>200,174=>201,172=>202,189=>203,188=>204,
    //161=>205,171=>206,187=>207,211=>208,223=>209,212=>210,210=>211,
    //245=>212,213=>213,181=>214,254=>215,222=>216,218=>217,219=>218,
    //217=>219,253=>220,221=>221,175=>222,180=>223,199=>192,252=>193,
    //233=>194,226=>195,228=>196,224=>197,173=>168,229=>198,231=>199,
    //234=>200,235=>201,232=>202,239=>203,238=>204,236=>205,196=>206,
    //197=>207,201=>208,230=>209,198=>210,244=>211,246=>212,242=>213,
    //251=>214,249=>215,214=>216,220=>217,248=>218,163=>219,216=>220,
    //251=>214,249=>215,214=>216,220=>217,248=>218,163=>219,216=>221,
    215=>222,131=>223,0=>220);
      
    $serveraddress="localhost";
    $mysqluser="root";
    $mysqlpassword="12345";
    $mysqldatabase="pl";
     
    $descriptor = mysql_connect($serveraddress,$mysqluser,$mysqlpassword);
    mysql_select_db($mysqldatabase,$descriptor);
    mysql_query("SET NAMES CP1251");
     
    mysql_query("truncate table TV_epg");
     
    function int2float($i) {
          $x32 = 4294967296;
          $i = (float)$i;
          if ($i < 0) return $i + $x32 + 1; else return $i; /* signed int32 overflow */
    }
     
    function FILETIMEtoUNIXtime($FILETIME) {
      $x32 = 4294967296;
      $sec_btw_epoch = (float)(116444736 * 100);
      $low  =        (ord($FILETIME[0])) | (ord($FILETIME[1]) << 8) | (ord($FILETIME[2]) << 16) | (ord($FILETIME[3]) << 24);
      $high =        (ord($FILETIME[4])) | (ord($FILETIME[5]) << 8) | (ord($FILETIME[6]) << 16) | (ord($FILETIME[7]) << 24);
      $f64 = (int2float($high) * $x32 + int2float($low)) / 10000000;
      return (int)($f64 - $sec_btw_epoch);
    }
     
    foreach ($tmplist as $key=>$value) {
        $f=substr($value, 0, -4);
        $res=$f;
     
        for($i=0; $i<strlen($res); $i++) $res[$i]=(array_key_exists(ord($res[$i]),$ch)) ? chr($ch[ord($res[$i])]) : $res[$i];
     
        $f1=fopen("list/".$f.".ndx", "rb");
        $f2=fopen("list/".$f.".pdt", "rb");
     
        $test1 = bin2hex(fread($f1, 1));
        $test2 = bin2hex(fread($f1, 1));
        $countpr = hexdec($test2.$test1);
     
    for ($i=0; $i<$countpr; $i++ )
    {
        $tmp=0;
        $ft='';
        $tmp = fread($f1, 2);
        for ($j=0; $j<8; $j++)
        $ft.= (fread($f1, 1));//.$ft;
     
        $dates= date("Y-m-d H:i:s", FILETIMEtoUNIXtime($ft));
     
    //////////////index f2////////////
        $offset=0;
        $str = bin2hex(fread($f1, 1));
        $str2 = bin2hex(fread($f1, 1));
        $offset = hexdec($str2.$str);
    ///////////////name////////////////
        $len=0;
        fseek($f2, $offset);
        $str = bin2hex(fread($f2, 1));
        $str2 = bin2hex(fread($f2, 1));
        $len = hexdec($str2.$str);
        $name = fread($f2, $len);
     
        mysql_query("insert into `TV_epg` set `epg_ch`='$res',`epg_date`='$dates',`epg_name`='$name' ");
        }
    }
            #mysql_quuery("update TV_epg set epg_date=epg_date-interval 4 hour;");
            mysql_query("update TV_epg set epg_date=epg_date-interval 1 hour;");
    ?>

    Запостил: qbasic, 28 Декабря 2010

    Комментарии (17) RSS

    • О, да это Хрестоматия для юных php-срунов
      Ответить
      • wh0cd318730 <a href=http://buypropecia2017.com/>order propecia</a>
        Ответить
    • #!/usr/bin/php5

      а че так можно??
      Ответить
      • рекомендовано для никсов, если это скрипт системный, потипу перла или питона, а не вебовский. А топик, видимо, и предназначен для запуска из коммандной строки
        Ответить
      • а чому нельзя?
        Вы же вкурсе как шебанг работает?
        а что у пыха есть кли версия?
        Ответить
        • я не знал что у пыха есть кли версия. перловый цги как бы ёжику понятно - но вот с пыхом у меня стабильная ассоция с фастцги. была ;)
          Ответить
          • пых есть и как отдельно стоящее приложение
            и как обычный модуль апача
            и как фастсги
            Ответить
            • ничего подобного, мод_пыхыпы -- необычный модуль, они до сих пор застряли в apache 1.x API
              Ответить
              • он работает и на двойке тоже
                но они огребли геморроя в связи с многопоточными воркерами
                мультитрединг пыховцы не осилили
                Ответить
                • > он работает и на двойке тоже
                  не благодаря умениям пыховцев, а вопреки
                  точнее, надо сказать спасибо апачевцам, что совместимое API оставили
                  а так хэндлеры, почти как новые; никаких новомодных и непроверенных фильтров, да.
                  Ответить
                • vanished
                  Ответить
                  • Отобразил тебя на единичную окружность конформным преобразованием, проверь.
                    Ответить
      • vanished
        Ответить

    Добавить комментарий