За последние 24 часа нас посетили 48458 программистов и 1729 роботов. Сейчас ищут 684 программиста ...

Уже сил нет, помогите.

Тема в разделе "PHP и базы данных", создана пользователем smala, 29 июн 2011.

  1. smala

    smala Активный пользователь

    С нами с:
    11 янв 2011
    Сообщения:
    137
    Симпатии:
    0
    PHP:
    1. <html>
    2. <head>
    3. </head>
    4. <body>
    5.  
    6. <form method = "post" >
    7. <input type = "submit" name = "button" value = "Грабить">
    8. </form>
    9. <a href="/films/category.php">Добавить категории</a>
    10.  
    11.  
    12.  
    13.  
    14. <?
    15.  
    16.  
    17.  
    18.  
    19.  
    20.  
    21.  
    22. function video ($nachalo,$conec,$url) {
    23. $top = file_get_contents($url);
    24. $parts = explode($conec, $top);
    25. $one = $parts[0];
    26. $partse = explode($nachalo, $one);
    27. $video = $partse[1];
    28. return $video;
    29. }
    30. function cp1251_to_utf8 ($txt)  {
    31.     $in_arr = array (
    32.         chr(208), chr(192), chr(193), chr(194),
    33.         chr(195), chr(196), chr(197), chr(168),
    34.         chr(198), chr(199), chr(200), chr(201),
    35.         chr(202), chr(203), chr(204), chr(205),
    36.         chr(206), chr(207), chr(209), chr(210),
    37.         chr(211), chr(212), chr(213), chr(214),
    38.         chr(215), chr(216), chr(217), chr(218),
    39.         chr(219), chr(220), chr(221), chr(222),
    40.         chr(223), chr(224), chr(225), chr(226),
    41.         chr(227), chr(228), chr(229), chr(184),
    42.         chr(230), chr(231), chr(232), chr(233),
    43.         chr(234), chr(235), chr(236), chr(237),
    44.         chr(238), chr(239), chr(240), chr(241),
    45.         chr(242), chr(243), chr(244), chr(245),
    46.         chr(246), chr(247), chr(248), chr(249),
    47.         chr(250), chr(251), chr(252), chr(253),
    48.         chr(254), chr(255)
    49.     );  
    50.  
    51.     $out_arr = array (
    52.         chr(208).chr(160), chr(208).chr(144), chr(208).chr(145),
    53.         chr(208).chr(146), chr(208).chr(147), chr(208).chr(148),
    54.         chr(208).chr(149), chr(208).chr(129), chr(208).chr(150),
    55.         chr(208).chr(151), chr(208).chr(152), chr(208).chr(153),
    56.         chr(208).chr(154), chr(208).chr(155), chr(208).chr(156),
    57.         chr(208).chr(157), chr(208).chr(158), chr(208).chr(159),
    58.         chr(208).chr(161), chr(208).chr(162), chr(208).chr(163),
    59.         chr(208).chr(164), chr(208).chr(165), chr(208).chr(166),
    60.         chr(208).chr(167), chr(208).chr(168), chr(208).chr(169),
    61.         chr(208).chr(170), chr(208).chr(171), chr(208).chr(172),
    62.         chr(208).chr(173), chr(208).chr(174), chr(208).chr(175),
    63.         chr(208).chr(176), chr(208).chr(177), chr(208).chr(178),
    64.         chr(208).chr(179), chr(208).chr(180), chr(208).chr(181),
    65.         chr(209).chr(145), chr(208).chr(182), chr(208).chr(183),
    66.         chr(208).chr(184), chr(208).chr(185), chr(208).chr(186),
    67.         chr(208).chr(187), chr(208).chr(188), chr(208).chr(189),
    68.         chr(208).chr(190), chr(208).chr(191), chr(209).chr(128),
    69.         chr(209).chr(129), chr(209).chr(130), chr(209).chr(131),
    70.         chr(209).chr(132), chr(209).chr(133), chr(209).chr(134),
    71.         chr(209).chr(135), chr(209).chr(136), chr(209).chr(137),
    72.         chr(209).chr(138), chr(209).chr(139), chr(209).chr(140),
    73.         chr(209).chr(141), chr(209).chr(142), chr(209).chr(143)
    74.     );  
    75.  
    76.     $txt = str_replace($out_arr,$in_arr,$txt);
    77.     return $txt;
    78. }
    79.  
    80.  
    81.  
    82. $host="localhost";
    83. $bduser="***";
    84. $bdpass="***";
    85. $bdname="***";
    86.  
    87.  
    88. $novs = '<div id="rtn4p.uneb_25';
    89. $novc = 'id="Teaser_Block_3264';
    90.  
    91. $nachalo='<table class="eBlock';
    92. $conec='<td class="eDetails1';
    93.  
    94. $to='<div class="eTitle';
    95. $van='<tbody>';
    96.  
    97. $crat_newsn ='<!--IMG1--><a';
    98. $crat_newsc ='<iframe src="http';
    99.  
    100.  
    101. if ($_POST['button'] == TRUE) {
    102.  
    103. $lines = file("category.dat");
    104.   foreach($lines as $data){
    105.   list($user, $pass) = explode("|", $data);
    106.  
    107. $title = file_get_contents($user);
    108.  
    109.  
    110.  
    111. $co = preg_match_all('/http:\/\/onlyfilms.ru\/load\/[a-z,_,0-9]+\/[-,0-9]+/i', $title, $matches2);
    112.  
    113. $date = date("Y-m-d H:i:s");
    114. //бд конект - старт
    115. $srv=mysql_connect($host, $bduser, $bdpass);
    116. $db=mysql_select_db($bdname);
    117. if (isset($srv) && isset($db))
    118. echo '<br><br>';
    119. else
    120. echo "Неверные данные БД";
    121. //бд конект - конец
    122.  
    123. $sqlc = "SELECT `id` from `dle_category` where `name` = '$pass'";
    124. $res = mysql_query($sqlc);
    125. $row = mysql_fetch_array($res);
    126. $category = $row ['id'];   
    127.  
    128. for ($a=1;$a<$co;$a+=2){
    129. $cat = $matches2[0][$a];
    130.  
    131. $url = $cat;
    132. //полная новость - старт
    133. $news_polnas = video($nachalo,$conec,$url);
    134. $news_polna = cp1251_to_utf8($news_polnas);
    135. $searchfe  = array('" border="0" cellpadding="2" cellspacing="0" width="100%">','<div align="center">','target="_blank"');
    136. $replacefe = array('','','');
    137. $news_poln = str_ireplace($searchfe, $replacefe, $news_polna );
    138. //полная новость - конец
    139.  
    140.  
    141. //краткая новость - старт
    142. $parts = explode($crat_newsn, $news_poln);
    143. $one = $parts[1];
    144. $partse = explode($crat_newsc, $one);
    145. $titles = '<a '.$partse[0];
    146. $searchf  = array('<!--IMG1-->','<noindex>','<br><br>');
    147. $replacef = array('</noindex>','','');
    148. $textik = '<noindex>'.str_ireplace($searchf, $replacef, $titles );
    149. //краткая новость - конец
    150.  
    151.  
    152.  
    153.  
    154.  
    155. //получение заголовка - старт
    156. $parts = explode($to, $news_poln);
    157. $one = $parts[1];
    158. $partse = explode($van, $one);
    159. $title = $partse[0];
    160. $search  = array('style="padding-bottom: 3px;">','"','</div>');
    161. $replace = array('','','');
    162. $text2 = str_ireplace($search, $replace, $title );
    163. $tags = $text2.' ,Видео, смотреть, онлайн, бесплатно, фильмы, сериалы, мультфильмы, русское, кино';
    164. //получение заголовка - конец
    165.  
    166. //отправка новости - старт
    167. $sql = "INSERT INTO dle_post (`id`,`autor`,`date`,`short_story`,`full_story`,`title`,`keywords`,`category`,`allow_comm`,`allow_main`,`allow_rate`,`approve`,`allow_br`,`flag`,`tags`)
    168. VALUES ('', 'smala', '$date', '$textik', '$news_poln', '$text2', '$tags', '$category', '1', '1', '1', '1', '1', '1', '$tags');
    169. "; 
    170.  
    171. $sqlname = "SELECT * FROM `dle_post` WHERE `title`='$text2'";
    172. $rez = mysql_query($sqlname);
    173. $rowl = mysql_fetch_array($rez);
    174. if($rowl['title']!==$text2){
    175. mysql_query($sql);
    176. echo "<br>Добавлен ролик ".$text2;}
    177. else {
    178.      echo "<br>Ролик ".$text2." уже есть на сайте";}
    179.  
    180. //отправка новости - конец
    181.  
    182. }
    183.  
    184.  
    185.  
    186. }
    187. }
    188.  
    189.  
    190. ?>
    191. </body>
    192. </html>
    вот такой вот скрипт, вот хоть убей неполучается, выводит кодировку на экран нормальные символы, а в БД добавляются только "???", я уже даже явно указал в .htaccess
    Код (Text):
    1. AddDefaultCharset cp-1251
    в БД кодировка cp1251_general_ci
    в скрипте есть функция перекодировки function cp1251_to_utf8 и туда и обратно кодировать может, работает, но в БД всеравно знаки вопроса(((( помгите
     
  2. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    mysql_query("SET NAMES 'CP1251'");
    mysql_query("SET CHARACTER SET 'CP1251'");

    поиграйся с этим... или UTF-8 попробуй.
     
  3. smala

    smala Активный пользователь

    С нами с:
    11 янв 2011
    Сообщения:
    137
    Симпатии:
    0
    Спасибо))) я конечно в шоке, но помогло, спасибо