EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
RSS Feed  

Полезные скрипты на php (только скрипты)
На страницу Пред.  1, 2, 3, 4  След.
 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB
Полезные скрипты на php (только скрипты)
Автор Сообщение
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2067
Откуда: Самара
11926 Монеты

СообщениеДобавлено: Пн, 29 Сен, 2008 08:16    Заголовок сообщения: Ответить с цитатой

Пишем самый простой сайт на PHP (часть 3):
Все хорошо, но например вы захотели работать с параметрами в PHP скажем у нас есть в дизайне большая картинка и мы решили создать облегченный дизайн для людей с медленным инетом, например для них создадим параметр mode и если он равен lite показываем уменьшенную картинку (для обычных пользователей будет
обращение к страницы http://vedenin.ru/test.php, Для облегченного дизайна к странице http://vedenin.ru/test.php?mode=lite), пишем вместо
Код:
<IMG SRC="http://vedenin.ru/image.jpg" alt ="картинка">

код

Код:
<IMG SRC="http://vedenin.ru/<?php if($_GET['mode'] == 'lite') { echo 'bigimage.jpg';} else {echo 'smallimage.jpg';} ?>" alt ="картинка">
,
аналогично можно заменить все ссылки добавив к них ?mode=lite, если к странице обратились как к lite Smile

P.S. Советую внимательно изучить правило безопасности при работе с PHP при работе с параметрами, чтобы не стать жертвой хакеров, например очень аккуратно использовать запись параметров в файл или базу данных.
_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2067
Откуда: Самара
11926 Монеты

СообщениеДобавлено: Пн, 29 Сен, 2008 17:59    Заголовок сообщения: Ответить с цитатой

Описание скрипта: Описание небольшого патча для PHP2.*, который поможет "хакнуть" статистику форума
Комментарий: Как известно первое на что смотрять посетители на общее кол-во сообщений в форуме и кол-во сообщений в разделах, но если у вас на форуме несколько тысяч сообщений, то даже если вы статистики увеличите цифру раза в три никто ничего не заметит, зато форум сразу будет казатся гораздо солидние Smile
Описание патча:
Находим в файле index.php место
Код:
$total_posts = get_db_stat('postcount');
$total_users = get_db_stat('usercount');


и добавляем к общему количеству постов и пользователей любое число насколько хватит наглости Very Happy (можно использовть и умножение на целое число Very Happy )

Код:
$total_posts = get_db_stat('postcount') + 5000;
$total_users = get_db_stat('usercount') + 25000;


Теперь подправим кол-во тем и постов в разделах:
находим код
Код:
   $template->assign_block_vars('catrow.forumrow',   array(
                        'ROW_COLOR' => '#' . $row_color,
                        'ROW_CLASS' => $row_class,
                        'FORUM_FOLDER_IMG' => $folder_image,
                        'FORUM_NAME' => $forum_data[$j]['forum_name'],
                        'FORUM_DESC' => $forum_data[$j]['forum_desc'],
                        'POSTS' => $forum_data[$j]['forum_posts'],
                        'TOPICS' => $forum_data[$j]['forum_topics'],
...


перед ним добавим строчку

Код:
$k = ($forum_data[$j]['forum_posts']<10?1:2);


а строчки

Код:
      'POSTS' => $forum_data[$j]['forum_posts'],
                        'TOPICS' => $forum_data[$j]['forum_topics'],


исправим на

Код:
      'POSTS' => $forum_data[$j]['forum_posts']*$k,
                        'TOPICS' => $forum_data[$j]['forum_topics']*$k,


Т.е. мы проверили кол-во сообщений в разделе и если меньше 10 не меняем, если больше 10 увеличиваем в два раза (впрочем коэффиценты можете сами придумать) Cool
_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Alek$
11 1110 1000
11 1110 1000


Зарегистрирован: 24.11.2007
Сообщения: 1140
Откуда: Новосибирск
26958 Монеты

СообщениеДобавлено: Вт, 30 Сен, 2008 05:34    Заголовок сообщения: Ответить с цитатой

Веденин писал(а):
Описание скрипта: Описание небольшого патча для PHP2.*, который поможет "хакнуть" статистику форума

Позволю себе уточнить, что форума php2 не существует, зато был такой язык программирования. Здесь же, видимо, речь шла о phpBB2
_________________
Самая страшная ошибка - это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB3 [Russian]
Антисоциальный блог
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2067
Откуда: Самара
11926 Монеты

СообщениеДобавлено: Вт, 30 Сен, 2008 05:36    Заголовок сообщения: Ответить с цитатой

Описка однако Very Happy
_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2067
Откуда: Самара
11926 Монеты

СообщениеДобавлено: Ср, 01 Окт, 2008 07:50    Заголовок сообщения: Ответить с цитатой

Название: Скрипт возвращающий резльтаты поиска с поисковых систем Yandex, Google и Yandex XML.
Описание: Задается запрос и кол-во страницы, с которых нужно вернуть результаты (для Yandex и Googla по 50 результатов
на странице, для Yandex XML - 10). Результаты в формате url и название сайта через | на каждой строчке один результат.
(Для того чтобы скрипт выдавал только url надо найти и удалить
строчки
Код:
 .' | '.GetText('>','$',$t.'$').
и
Код:
 . ' | '. GetText($desc1,$desc2,$tmp) .
).
Не забывайте, что для использования Yandex XML надо зарегистрировать ваш ip адрес на xml.yandex.ru.
Для googla лучше использовать запрос в utf-8, так как при использование WIN1251 результаты выдаются "странные".
Для получение запроса в utf-8 можно набрать
запрос в google, а потом скопировать все
после q= до символа & из адресной строки результата запроса.

Пример вызова функций:
Google('%d0%b1%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5+%d1%82%d0%b0%d0%bd%d1%86%d1%8b+%d0%b2%d0%b8%d0%b4%d0%b5%d0%be',4);
XmlYaca('видео%20бальных%20танцев',3);
Yandex('видео%20бальных%20танцев',3);
т.е. запрос и кол-во страниц

Скрипт:
Код:

Google('%d0%b1%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5+%d1%82%d0%b0%d0%bd%d1%86%d1%8b+%d0%b2%d0%b8%d0%b4%d0%b5%d0%be',4);
XmlYaca('видео%20бальных%20танцев',3);
Yandex('видео%20бальных%20танцев',3);

function Yandex($keyword,$page){
for($i=0;$i<=$page;$i++){
  $url = "http://yandex.ru/yandsearch?p=$i&text=$keyword&date=&text=&spcctx=notfar&zone=all&wordforms=
all&lang=all&within=0&from_day=&from_month=&from_year=&to_day=1
7&to_month=7&to_year=2008&mime=all&rstr=&ds=&numdoc=50";
  $text = getStringWin(file_get_contents($url));
  Parse($text,'<li>','<li>','','','','');
}
}

function XmlYaca($keyword,$page){
for($i=0;$i<=$page;$i++){
  $url = "http://xmlsearch.yandex.ru/xmlsearch?query=$keyword&page=$i";
  $text = getStringWin(file_get_contents($url));
  Parse($text,'<group>','</group>','<url>','</url>','<title>','</title>');
}
}

function Google($keyword,$page){
for($i=0;$i<=$page;$i++){
  $url = "http://www.google.ru/search?complete=1&hl=ru&newwindow=1&num=50&q=$keyword&lr=&aq=f
&start=".($i*50);
  $text = getStringWin(file_get_contents($url));
  Parse($text,'class=g>','</div>','','','','');
}
}


# Выполнение задачи парсинга
function Parse($text,$item1,$item2,$url1,$url2,$desc1,$desc2){
    $i = 1;
    while($i>0){
      $i = strpos(' '.$text,$item1);
      if($i>0){
        $tmp   = GetText($item1,$item2,$text);
        if(strlen($url1)<1) {
           $t = GetText('<a ','</a>',$tmp);
           echo GetText('http://','"',$t).
             ' | '.GetText('>','$',$t.'$')."<br>\n";         
        }
        else
           echo GetText($url1,$url2,$tmp) . ' | '. GetText($desc1,$desc2,$tmp) . "<br>\n";
        $text = substr($text,$i+2);
      }               
     
    }
  return true;
}

# Получение части текста
function GetText($findfirst,$findsecond,$text){
   if(strlen($findfirst)==0 || strlen($text)==0) return '';
   $i1 = strpos(' '.$text,$findfirst);
   if( $i1 == 0 ) return '';
   $text1 = substr($text,$i1+strlen($findfirst)-1);
   $i = strpos(' '.$text1,$findsecond);
   if( $i == 0 || strlen($findsecond)==0) return $text1;
   $text1 = substr($text1,0,$i-1);
   $text  = substr($text,$i1+$i+strlen($findsecond)+strlen($findfirst)-2);
   return $text1;
}

# Получение строки в правильной кодировке
function getStringWin($prm){
   $tmp = "";$j=0; 
   while($j<strlen($prm)) {
       $tmp1 = getTextUtf(ord($prm[$j]),ord($prm[$j+1]),$j);
       $tmp  = $tmp . $tmp1;
       $j++;
   }
   return $tmp;
}


# Преобразование из Utf 8
function getTextUtf($tmp,$tmp1,&$i){
if($tmp==208 || $tmp==209){
   if($tmp==209) $t = 64;
   $i = $i + 1;
   return chr($tmp1 - 144+ord('А')+$t);
} else {
   return chr($tmp);   
}
}

_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2067
Откуда: Самара
11926 Монеты

СообщениеДобавлено: Ср, 01 Окт, 2008 08:17    Заголовок сообщения: Ответить с цитатой

Название: Скрипт возвращающий место в результах поиска с поисковых систем Yandex, Google и Yandex XML.
Описание: см предыдущий пост, дополнительно передается адрес сайта для которого нужно получить
место в результах остальное аналогично.

Пример вызова функций:
Google('%D0%B1%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5+%D1%82%D0%B0%D0%BD%D1%86%D1%8B'
,3,'vedenin.ru');
Yandex('бальные%20танцы',3,'vedenin.ru');
XmlYaca('бальные%20танцы',3,'vedenin.ru');
т.е. запрос и кол-во страниц, адрес сайта

Скрипт:
Код:

function Yandex($keyword,$page,$site){
for($i=0;$i<=$page;$i++){
  $url = "http://yandex.ru/yandsearch?p=$i&text=$keyword&date=&text=&spcctx=notfar&zone=all
&wordforms=all&lang=all&within=0&from_day=&from_month=&
from_year=&to_day=17&to_month=7&to_year=2008&mime=all&rstr=&ds=&numdoc=50";
  $text = getStringWin(file_get_contents($url));
  $j = Parse($text,'<li>','<li>',$site);
  if($j > 0){
    echo "В Yandex у сайта $site по запросу $keyword ". ($j+$i*50) .'место <br>';
    return true;
  }
}
echo "Сайт $site в результах Yandex'a по запросу $keyword не найден";
}

function XmlYaca($keyword,$page,$site){
for($i=0;$i<=$page;$i++){
  $url = "http://xmlsearch.yandex.ru/xmlsearch?query=$keyword&page=$i";
  $text = getStringWin(file_get_contents($url));
  $j = Parse($text,'<group>','</group>',$site);
  if($j > 0){
    echo "В Yandex XML у сайта $site по запросу $keyword " . ($j+$i*10) .'место <br>';
    return true;
  }
}
echo "Сайт $site в результах XML Yandex'a по запросу $keyword не найден";
}

function Google($keyword,$page,$site){
for($i=0;$i<=$page;$i++){
  $url = "http://www.google.ru/search?complete=1&hl=ru&newwindow=1&num=50
&q=$keyword&lr=&aq=f&start=".$i*50;
  $text = getStringWin(file_get_contents($url));
  $j = Parse($text,'class=g>','</div>',$site);
  if($j > 0){
    echo "В Google у сайта $site по запросу $keyword " . ($j+$i*50) . 'место <br>';
    return true;
  }
echo "Сайт $site в результах Googl'a по запросу $keyword не найден";
}
}


# Выполнение задачи парсинга
function Parse($text,$item1,$item2,$site){
    $i = 1;$j = 0;
    while($i>0){
      $j++;
      $i = strpos(' '.$text,$item1);
      if($i>0){
        $tmp   = GetText($item1,$item2,$text);
        if(strpos(' '.$tmp,$site)>0) {         
          return $j; 
        }
        $text = substr($text,$i+2);
      }               
     
    }
  return 0;
}

# Получение части текста
function GetText($findfirst,$findsecond,$text){
   if(strlen($findfirst)==0 || strlen($text)==0) return '';
   $i1 = strpos(' '.$text,$findfirst);
   if( $i1 == 0 ) return '';
   $text1 = substr($text,$i1+strlen($findfirst)-1);
   $i = strpos(' '.$text1,$findsecond);
   if( $i == 0 || strlen($findsecond)==0) return $text1;
   $text1 = substr($text1,0,$i-1);
   $text  = substr($text,$i1+$i+strlen($findsecond)+strlen($findfirst)-2);
   return $text1;
}

# Получение строки в правильной кодировке
function getStringWin($prm){
   $tmp = "";$j=0; 
   while($j<strlen($prm)) {
       $tmp1 = getTextUtf(ord($prm[$j]),ord($prm[$j+1]),$j);
       $tmp  = $tmp . $tmp1;
       $j++;
   }
   return $tmp;
}


# Преобразование из Utf 8
function getTextUtf($tmp,$tmp1,&$i){
if($tmp==208 || $tmp==209){
   if($tmp==209) $t = 64;
   $i = $i + 1;
   return chr($tmp1 - 144+ord('А')+$t);
} else {
   return chr($tmp);   
}


_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2067
Откуда: Самара
11926 Монеты

СообщениеДобавлено: Чт, 02 Окт, 2008 08:28    Заголовок сообщения: Ответить с цитатой

Название: Получение ТИЦ и наличие в Яндекс каталоге указанного сайта

Примеры вызова:
Код:
  getIndex('book.vedenin.ru');
  getIndex('vedenin.ru');


Т.е. передаем url без http, сам алгоритм только в функции getIndex, остальные функции вспомогательные Very Happy

Код:

function getIndex($url){
$text = getStringWin(file_get_contents("http://search.yaca.yandex.ru/yca/cy/ch/$url"));
$tmp = GetText('<p class="errmsg">','</p>',$text);
 if(strlen($tmp)>0) echo $tmp." <b>В Yandex каталоге сайта $url нет.</b>";
 else {
  $tmp = GetText('<td class="current" valign="middle">','</tr>',$text);
  echo 'Ресурс есть в Yandex каталоге. Тиц = '.GetText('<td align="right">','</td>',$tmp);
 }
}

# Получение части текста
function GetText($findfirst,$findsecond,$text){
   if(strlen($findfirst)==0 || strlen($text)==0) return '';
   $i1 = strpos(' '.$text,$findfirst);
   if( $i1 == 0 ) return '';
   $text1 = substr($text,$i1+strlen($findfirst)-1);
   $i = strpos(' '.$text1,$findsecond);
   if( $i == 0 || strlen($findsecond)==0) return $text1;
   $text1 = substr($text1,0,$i-1);
   $text  = substr($text,$i1+$i+strlen($findsecond)+strlen($findfirst)-2);
   return $text1;
}

# Получение строки в правильной кодировке
function getStringWin($prm){
   $tmp = "";$j=0; 
   while($j<strlen($prm)) {
       $tmp1 = getTextUtf(ord($prm[$j]),ord($prm[$j+1]),$j);
       $tmp  = $tmp . $tmp1;
       $j++;
   }
   return $tmp;
}


# Преобразование из Utf 8
function getTextUtf($tmp,$tmp1,&$i){
if($tmp==208 || $tmp==209){
   if($tmp==209) $t = 64;
   $i = $i + 1;
   return chr($tmp1 - 144+ord('А')+$t);
} else {
   return chr($tmp);   
}


_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2067
Откуда: Самара
11926 Монеты

СообщениеДобавлено: Чт, 02 Окт, 2008 10:06    Заголовок сообщения: Ответить с цитатой

Описание скрипта:Скрипт, возвращает AlexaRank указанного сайта
Вызов функции: в параметрах указать url нужного сайта без http://
Описание: AlexaRank позволяет примерно оценить посещаемость, чем он меньше, тем посещаемость больше (примерно 1000000 - 50 посетителей в сутки, 700000 - 200 посетителей в сутки, 500000 - 500 посетителей в сутки,50000 - 5000 посетителей в сутки).
Суть в том, что есть спецальный toolbar для браузера (скачать можно на alexa.com), который позволяет оценивать
AlexaRank сайта и одновременно отсылает информацию о заходах на сайты.
Из этого следует, что так как такой тулбар чаще всего ставят вебмастера, сайты по программированию или вебкодингу, хостинги и т.п. имеют меньше AlexaRank при той же посещаемости, чем остальные сайты.
Скрипт:
Код:
getAlexaRank("vedenin.ru");

# Получение AlexaRank
function getAlexaRank($url){
  $text = file_get_contents("http://www.alexa.com/data/details/related_links/$url");
  echo DeleteTeg(GetText('traffic rank of:','</div>',$text));
}

# Удаление всех тегов HTML (получение только текста)
function DeleteTeg($pstr)
{   
   global $alexastop;
   $alexastop = getAlexaStop();
   $i = 0;$flag1=false;$text = '';
   while($i<=strlen($pstr)){     
     if($pstr[$i]=='<') {           
        $i++;
        if($pstr[$i]=='/') $i++;
        $tmp = workTeg($pstr,$i);
        $i++;$flag1=false;       
        if(strlen($tmp['class'])>0 && isAlexaStop($tmp['class'])) $flag1=true;
     } else {
         if(!$flag1) $text .= $pstr[$i];
         $i++;
     }
   }
   return $text;
 }

# Получение части текста
function GetText($findfirst,$findsecond,$text){
   if(strlen($findfirst)==0 || strlen($text)==0) return '';
   $i1 = strpos(' '.$text,$findfirst);
   if( $i1 == 0 ) return '';
   $text1 = substr($text,$i1+strlen($findfirst)-1);
   $i = strpos(' '.$text1,$findsecond);
   if( $i == 0 || strlen($findsecond)==0) return $text1;
   $text1 = substr($text1,0,$i-1);
   $text  = substr($text,$i1+$i+strlen($findsecond)+strlen($findfirst)-2);
   return $text1;
}

#проверка является ли тег стоп классом
function isAlexaStop($prm)
{
global $alexastop;
return strpos(' ' . $alexastop,'@' . $prm . '@')>0;
}

#Возвращает список стоп классов в alexa
function getAlexaStop()
{
return '@c11e@c125@c12d@c130@c145@c14d@c15f@c163@c169@
c17f@c182@c187@c197@c1a5@c1ae@c1b0@c1c0@c1cc@c1e1@c20c@
c227@c232@c235@c25a@c261@c290@c293@c29d@c2be@c2ec@c306@
c311@c34f@c350@c386@c39e@c3a0@c3a7@c3b2@c3e0@c3ec@c400@
c401@c405@c44e@c477@c4ba@c4bb@c4d4@c4d6@c4e0@c4e5@c4ef@
c4f6@c4f8@c4fb@c501@c510@c514@c515@c52a@c52c@c533@c53b@
c54a@c55a@c560@c584@c5a7@c5bc@c5be@c5de@c60c@c629@c64f@
c656@c678@c695@c69a@c6bf@c6c9@c6da@c6e4@c6ee@c6ef@c6fd@
c712@c744@c745@c747@c7ad@c7b6@c7b8@c7dc@c80f@c820@c84e@
c85d@c862@c88e@c8a7@c8ad@c8e3@c8e9@c8f3@c8f6@c8ff@c92f@
c932@c946@c94e@c95f@c963@c994@c9b3@c9b5@c9c7@c9d0@c9eb@
ca07@ca0b@ca15@ca17@ca33@ca53@ca57@ca58@cabd@cae7@cb09@
cb10@cb59@cb74@cb79@cb82@cb91@cb9b@cbae@cbb6@cbbb@cbc6@
cbc8@cbcd@cbea@cbed@cbf1@cbf8@cc04@cc0b@cc75@cc77@cc9c@
cca6@ccb3@ccc5@ccee@cd33@cda3@cdcf@cdd1@cde4@cde5@cded@
ce12@ce1b@ce1e@ce32@ce3c@ce45@ce52@ce55@ce78
@ce82@ce83@ce87@ce9b@ceba@cec3@ced0@cf15@cf6b@cf9d@cfa2
@cfa8@cfb5@cfbe@cfc1@cfdb@cfe9@';
}

Внимание: К тексту скрипта надо добавить все функции из скрипта "Парсит один тег HTML возвращая атрибуты в виде массива и передвигает индекс i на конец тега" этой же темы
_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2067
Откуда: Самара
11926 Монеты

СообщениеДобавлено: Пн, 06 Окт, 2008 08:27    Заголовок сообщения: Ответить с цитатой

Описание скрипта:Скрипт, возвращает Whois для домена в зоне RU

Вызов функции: в параметрах указать url нужного сайта без http:// , например Whois('vedenin.ru');

Описание: Скрипт вернет кучу параметров разделенных | можно легко исправить, чтобы он вернул параметры с нужным вам описанием (см комментарии)

Скрипт:
Код:
Whois('vedenin.ru');

function Whois($url){
  $text = file_get_contents('http://www.nic.ru/whois/?query='.$url);
  $domain = GetText('domain:','<br>',$text); # Домен
  $type   = GetText('type:','<br>',$text); #Тип
  $nserver = GetText('nserver:','<br>',$text); #NS1
  $state   = GetText('state:','<br>',$text); #Делегирован?
  $person  = GetText('person:','<br>',$text); #владелец домена
  $phone   = GetText('phone:','<br>',$text);  # телефон владелеца домена
  $mail    = GetText('e-mail:','<br>',$text); # e-mail владелеца домена
  $descr   = GetText('e-descr:','<br>',$text);
  $registrar = GetText('registrar:','<br>',$text); #регистратор
  $created   = GetText('created:','<br>',$text); # зарегин когда
  $paid_till = GetText('paid-till:','<br>',$text); # окончание регистрации
  echo str_replace('&nbsp;',' ',"$domain | $type | $nserver | $state | $person | $phone | $mail | $descr | $registrar | $created | $paid_till");
}


# Получение части текста
function GetText($findfirst,$findsecond,$text){
   if(strlen($findfirst)==0 || strlen($text)==0) return '';
   $i1 = strpos(' '.$text,$findfirst);
   if( $i1 == 0 ) return '';
   $text1 = substr($text,$i1+strlen($findfirst)-1);
   $i = strpos(' '.$text1,$findsecond);
   if( $i == 0 || strlen($findsecond)==0) return $text1;
   $text1 = substr($text1,0,$i-1);
   $text  = substr($text,$i1+$i+strlen($findsecond)+strlen($findfirst)-2);
   return $text1;
}

_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2067
Откуда: Самара
11926 Монеты

СообщениеДобавлено: Пн, 06 Окт, 2008 09:47    Заголовок сообщения: Ответить с цитатой

Описание скрипта:Скрипт, возвращает PR страницы

Вызов функции: в параметрах указать url нужной страницы с http:// , например echo getRank('http://vedenin.ru/video.php');

Описание: Скрипт вернет PR, ничего не выводя на экран, для получение PR используется данные Google toolbar'а.
P.S. Скрипт не совсем мой, я нашел этот алгоритм в Инете и упростил как смог (он был в несколько раз больше и сложнее)

Скрипт:
Код:
echo getRank('http://vedenin.ru/video.php');

function getRank($url) {
  $url  = "http://toolbarqueries.google.com/search?sourceid=" .
          "navclient-ff&features=Rank&client=navclient-auto-ff&".
          "ch=8" . getHash($url) . "&q=info:" . urlencode($url);
  $parts   = explode(":", file_get_contents($url));
  return intval(@$parts[count($parts)-1]);
}

function getHash($value)  {
  $hashSeed = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE." .
                    "Yes, I'm talking to you, scammer.";
  $intValue = 16909125;
  for($i = 0; $i < strlen($value); $i++ ){
    $intValue ^= ord($hashSeed[$i % strlen($hashSeed)]) ^
                ord($value[$i]);
    $intValue = getShift($intValue,  23) | $intValue << 9;
  }
  return str_replace(' ', '',getU32($intValue));
}

function toHex8($num) {
   $vector = '0123456789abcdef';
   return $vector[($num % 256) / 16] . $vector[$num % 16];
}
   
function getU32($num) {
   return toHex8(getShift($num, 24)) . toHex8(getShift($num, 16) & 255).
toHex8(getShift($num, 8) & 255) . toHex8($num & 255);
}

function getShift($a, $b) {
   $z = hexdec(80000000);
   if ($z & $a) {
      $a = ($a >> 1);$a &= (~$z);$a |= 0x40000000;$a = ($a >> ($b-1));
   } else {
      $a = ($a >> $b);
   }
   return $a;
}   

_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2067
Откуда: Самара
11926 Монеты

СообщениеДобавлено: Пн, 06 Окт, 2008 10:16    Заголовок сообщения: Ответить с цитатой

Описание скрипта:Скрипт, возвращает PR всех проиндексированных страницы сайта (с PR >0)

Вызов функции: в параметрах указать url нужного сайта без http:// и кол-во страниц выдачи googla которые он будет парсить (в выдаче 100 страниц), например getAllPageRank('vedenin.ru',1);

Описание: Скрипт вернет PR всех страницы сайта у которого PR>0, для сканирование сайта используется поиск googl'a (функция site:vedenin.ru) в параметрах надо указать кол-во страниц выдачи (как правило большинство страниц с PR будет в начале выдачи)
Не забывайте, что на этом хостинге такой скрипт запрещен и кроме
того скрипт будет работать долго поэтому рекомендую запускать с
локального компьютера или на хостинге где нет ограничений на работу скрипта.

Скрипт:

Код:

getAllPageRank('vedenin.ru',1);

function getAllPageRank($url,$page){
for($i=0;$i<=$page;$i++){
  $url = "http://www.google.ru/search?num=100&complete=1&hl=ru&newwindow=1&as_qdr=all&q=site%3Avedenin.ru&page=".($i*100);
  $text = getStringWin(file_get_contents($url));
  Parse($text,'class=g>','</div>','','','','');
}
}


# Выполнение задачи парсинга
function Parse($text,$item1,$item2){
    $i = 1;
    while($i>0){
      $i = strpos(' '.$text,$item1);
      if($i>0){
        $tmp   = GetText($item1,$item2,$text);
        $t = GetText('<a ','</a>',$tmp);
        $url = 'http://'.GetText('http://','"',$t);
        $pr = trim(getRank($url));   
        if($pr!='0'){
          echo $url.':'.$pr.'<br>';
        }
      }                     
      $text = substr($text,$i+2);
    }
  return true;
}


# Получение части текста
function GetText($findfirst,$findsecond,$text){
   if(strlen($findfirst)==0 || strlen($text)==0) return '';
   $i1 = strpos(' '.$text,$findfirst);
   if( $i1 == 0 ) return '';
   $text1 = substr($text,$i1+strlen($findfirst)-1);
   $i = strpos(' '.$text1,$findsecond);
   if( $i == 0 || strlen($findsecond)==0) return $text1;
   $text1 = substr($text1,0,$i-1);
   $text  = substr($text,$i1+$i+strlen($findsecond)+strlen($findfirst)-2);
   return $text1;
}

# Получение строки в правильной кодировке
function getStringWin($prm){
   $tmp = "";$j=0; 
   while($j<strlen($prm)) {
       $tmp1 = getTextUtf(ord($prm[$j]),ord($prm[$j+1]),$j);
       $tmp  = $tmp . $tmp1;
       $j++;
   }
   return $tmp;
}


# Преобразование из Utf 8
function getTextUtf($tmp,$tmp1,&$i){
if($tmp==208 || $tmp==209){
   if($tmp==209) $t = 64;
   $i = $i + 1;
   return chr($tmp1 - 144+ord('А')+$t);
} else {
   return chr($tmp);   
}
}

function getRank($url) {
  $url  = "http://toolbarqueries.google.com/search?sourceid=" .
          "navclient-ff&features=Rank&client=navclient-auto-ff&".
          "ch=8" . getHash($url) . "&q=info:" . urlencode($url);
  $parts   = explode(":", file_get_contents($url));
  return intval(@$parts[count($parts)-1]);
}

function getHash($value)  {
  $hashSeed = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE." .
                    "Yes, I'm talking to you, scammer.";
  $intValue = 16909125;
  for($i = 0; $i < strlen($value); $i++ ){
    $intValue ^= ord($hashSeed[$i % strlen($hashSeed)]) ^
                ord($value[$i]);
    $intValue = getShift($intValue,  23) | $intValue << 9;
  }
  return str_replace(' ', '',getU32($intValue));
}

function toHex8($num) {
   $vector = '0123456789abcdef';
   return $vector[($num % 256) / 16] . $vector[$num % 16];
}
   
function getU32($num) {
   return toHex8(getShift($num, 24)) . toHex8(getShift($num, 16) & 255).
toHex8(getShift($num, 8) & 255) . toHex8($num & 255);
}

function getShift($a, $b) {
   $z = hexdec(80000000);
   if ($z & $a) {
      $a = ($a >> 1);$a &= (~$z);$a |= 0x40000000;$a = ($a >> ($b-1));
   } else {
      $a = ($a >> $b);
   }
   return $a;
}   

_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2067
Откуда: Самара
11926 Монеты

СообщениеДобавлено: Пн, 06 Окт, 2008 12:55    Заголовок сообщения: Ответить с цитатой

Ликбез: Работа с параметрами и формами в PHP или как написать форму обратной связи

Описание:
Чтобы больше на этом форуме не задавали вопросов типа как работать параметрами и формами и вообще что такое PHP, отвечаю пусть есть простая HTML форма:

Код:
Ваш комментарий<br>
<form action="mail.php" method="post">
  Ваш e-mail:<input type="text" name="mail"><br>
  Комментарий:<textarea cols="50" rows="4" name="note"></textarea><br>
<input type="submit" value="Добавить!">
</form>


Формы могут быть двух типов методом Get, когда все параметры формы передаются через адресную строку и Post, когда все параметры формы передаются в скрытом виде. Метод Get удобнее для сохранения результатов, метод Post для передачи секретных данных, типа паролей или очень больших данных. В форме HTML action означает файл php, который её будет обрабатывать, name - имя параметра. Обработка формы переданной методом Get ничем не отличается от обработки просто параметров страницы.

Самые простые функции обработки форм:
Код:
  $_POST['имя_параметра'], $_GET['имя_параметра'] - получение параметров GET И POST формы
  echo 'строка'; - вывод любой строчки HTML
  strlen() - получение кол-ва символов
  mail('mail получателя','заголовок письма','текст письма');
  . - объединение двух строк
  if оператор условия


Скажем обработка указаной формы (если ваш mail vasja@mail.ru)
Код:
<?php
  if(strlen($_POST['note'])>0){
     mail('vasja@mail.ru', 'коммент с моего сайта', convert_cyr_string($_POST['mail'].':'.$_POST['note']));
     echo 'Ваше сообщение отправлено администратору!';
  else
     echo 'Ошибка пустое сообщение!'; 
  }
?>

P.S. convert_cyr_string функция, чтобы письмо пришло в правильной кодировке.
P.P.S. используя if , $_POST, echo можно с помощью одной php страницы создавать любое кол-во страниц HTML в зависимости от параметров переданных форме.
_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2067
Откуда: Самара
11926 Монеты

СообщениеДобавлено: Пн, 06 Окт, 2008 13:27    Заголовок сообщения: Ответить с цитатой

В скрипте Скрипт, возвращает PR всех проиндексированных страницы сайта (с PR >0)
строчку
Код:
  $url = "http://www.google.ru/search?num=100&complete=1&hl=ru&newwindow=1&as_qdr=all&q=site%3Avedenin.ru&page=".($i*100);

надо заменить на
Код:
  $url = "http://www.google.ru/search?num=100&complete=1&hl=ru&newwindow=1&as_qdr=all&q=site%3A$url&start=".($i*100);

и строчку
Код:
$parts   = explode(":", file_get_contents($url));

на
Код:
$parts   = explode(":", @file_get_contents($url));

_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2067
Откуда: Самара
11926 Монеты

СообщениеДобавлено: Вт, 07 Окт, 2008 14:21    Заголовок сообщения: Ответить с цитатой

Название скрипта: Скрипт возращающий запрос по которому был переход на ваш сайта с googl'a

Описание скрипта: Вернет запрос в ANSI 1251 с выдачи результатов c которых попали на ваш сайт, очень удобно для
а) ведения статистики
б) выдачи полезной информации пользователю (например, при определенном запросе перемещать на нужную страницы или выводить подсказку)
в) показывать в поисковой системе сайта запрос пользователя

Вызов скрипта: без параметров, например так echo getKeyWord();

Скрип:

Код:
function getKeyWord(){
   if(strlen($_SERVER['HTTP_REFERER'])>0 && strpos($_SERVER['HTTP_REFERER'],'google')>0){
       $tmp = $_SERVER['HTTP_REFERER'];
       $tmp = substr($tmp,strpos($tmp,'q=')+2);
       if(strpos($tmp,'&')>0) $tmp = substr($tmp,0,strpos($tmp,'&'));
       $tmp = getStringUtf(urldecode($tmp));
       if(strlen($tmp)>0){
         return $tmp;
       }
   }
   return '';
}

Внимание: В код скрипта надо добавить все функции из скрипта Преобразование из Utf 8 в ANSI русских символов
_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Веденин
Красные глаза
Красные глаза


Зарегистрирован: 17.05.2007
Сообщения: 2067
Откуда: Самара
11926 Монеты

СообщениеДобавлено: Вт, 07 Окт, 2008 14:38    Заголовок сообщения: Ответить с цитатой

Название скрипта: Скрипт возращающий запрос по которому был переход на ваш сайта с yandex'a

Описание скрипта: Вернет запрос в ANSI 1251 с выдачи результатов c которых попали на ваш сайт, очень удобно для
а) ведения статистики
б) выдачи полезной информации пользователю (например, при определенном запросе перемещать на нужную страницы или выводить подсказку)
в) показывать в поисковой системе сайта запрос пользователя

Вызов скрипта: без параметров, например так echo getKeyWord();

Скрип:

Код:
function getKeyWord(){
   if(strlen($_SERVER['HTTP_REFERER'])>0 && strpos($_SERVER['HTTP_REFERER'],'yandex')>0){
       $tmp = $_SERVER['HTTP_REFERER'];
       $tmp = substr($tmp,strpos($tmp,'text=')+5);
       if(strpos($tmp,'&')>0) $tmp = substr($tmp,0,strpos($tmp,'&'));
       $tmp = getStringUtf(urldecode($tmp));
       if(strlen($tmp)>0){
         return $tmp;
       }
   }
   return '';
}

Внимание: В код скрипта надо добавить все функции из скрипта Преобразование из Utf 8 в ANSI русских символов
_________________
Написание конвекторов, парсеров, интеграции нескольких сайтов (в личку)

Тематические поисковые системы Рунета: Танцевальная, программиста, поиск книг
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB Часовой пояс: GMT
На страницу Пред.  1, 2, 3, 4  След.
Страница 2 из 4

 


Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group