PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (5): « 1 2 3 [4] 5 »
Найдено сообщений: 66
LOL
Отправлено: 16 Декабря, 2010 - 12:50:57 • Тема: Работаем над хостингом • Форум: Напишите за меня, пожалуйста
Ответов: 6 Просмотров: 74
Работаем над хостингом фоток мне возникло такое недразумение мне надо сделать так чтобы на главной странице выводились десять последних фоток а кагда юзер закачал фотку ему показывало какой формат и размер и насчет апи
у меня есть фотохостинг а как мне сделать так чтобы юзеры получали форму загрухки на сайт хостинг фоток не ввиде пхп скритпа а яваскрипт формы как ето сделать?
жду ответов?
LOL
Отправлено: 16 Декабря, 2010 - 12:46:45 • Тема: Регистрация на сайте быстро • Форум: Напишите за меня, пожалуйста
Ответов: 6 Просмотров: 63
ребята создал сайт но в нем куча систем например главная страница -джумла, маил -почтовая система, блоги -система блогов,фотки-хостинг фоток,и мне надо сделать так чтобы юзер регаясь на одном сайте ренался автоматом и на других всех движках а как ето сделать?
LOL
Отправлено: 15 Декабря, 2010 - 09:35:56 • Тема: Spider • Форум: Обсуждение статей
Ответов: 0 Просмотров: 1424
скажите пожалуйстьа у вас в примерах есть скрипт поиска на пхп а вот как сделать так чтобы он ешо и индексировал сайты которые я задам в строке на страничке?
LOL
Отправлено: 10 Декабря, 2010 - 08:12:10 • Тема: Работаем четко • Форум: Напишите за меня, пожалуйста
Ответов: 2 Просмотров: 32
ребята мне нужен такой скрипт
есть скрипт на пхп где указаны адресная строка для ввода слова и внизу находится кнопка с выбором поисковика и ПРИ НАжатии на конпку найти он не тупо перся на сайт поисковика а брал ответы с поисковика с сайтами и выдавал на моей странице(otvet.php?zapross=вопрос
LOL
Отправлено: 10 Декабря, 2010 - 08:01:53 • Тема: 2 скрипта • Форум: Напишите за меня, пожалуйста
Ответов: 7 Просмотров: 62
мм а может ешо подредактировать чтобы при наводе и нажатии на строку она обоодилась цветом
LOL
Отправлено: 06 Декабря, 2010 - 12:50:11 • Тема: Счетчик • Форум: Напишите за меня, пожалуйста
Ответов: 9 Просмотров: 92
ребята все окей разобрался
следуящая проблема мне нужно чтобы юзер при регистрации вводил в 12 полей различные данные(допустим маил блогпост аська клуб на яру и вконтакте)после того как он зарегался ему создается страница по номеру его реги(допустим site1-de.ru/?id12 12 номер регнувшегося)и выводились ети данные в красивой фомочке коротую я сделаю заранее из ксс и хтмл
как просто это мне задал учитель а я никак не могу придумать помогите пожалуйста
LOL
Отправлено: 03 Декабря, 2010 - 08:58:55 • Тема: Счетчик • Форум: Напишите за меня, пожалуйста
Ответов: 9 Просмотров: 92
че такое фриланс и сад я пхп не могу панять и учить его наверно не буду
LOL
Отправлено: 02 Декабря, 2010 - 07:04:11 • Тема: Счетчик • Форум: Напишите за меня, пожалуйста
Ответов: 9 Просмотров: 92
слушай плиз сделай и выложи сдесь(а на нем можно яваскрипт офрму снять с счетчика?????)
LOL
Отправлено: 01 Декабря, 2010 - 12:04:22 • Тема: Счетчик • Форум: Напишите за меня, пожалуйста
Ответов: 9 Просмотров: 92
вот скидываю скрипт счетчика на пхп поработайте плиз и сделайте так чтобы для того чтобы установить на сайт надо было получить яваскрипт форму а не кидать весь скрипт(такие как хотлог или ливеинтернет)
индекс. пхп
info.php
PHP:
скопировать код в буфер обмена
<? // WR-Counter v 1.2 // 05.01.08 г. // Miha-ingener@yandex.ru
#error_reporting (E_ALL);
include "config.php" ;
function prcmp ( $a , $b ) { if ( $a == $b ) return 0 ; if ( $a < $b ) return - 1 ; return 1 ; }
$months = array ( "Январь" , "Февраль" , "Март" , "Апрель" , "Май" , "Июнь" , "Июль" , "Август" , "Сентябрь" , "Октябрь" , "Ноябрь" , "Декабрь" ) ; $deldt = mktime ( ) - $days * 86400 ; // формируем дату удаления объявления
$i = 0 ; if ( $handle = opendir ( $datadir ) ) { while ( ( $file = readdir ( $handle ) ) !== false ) if ( ! is_dir ( $file ) ) { $lines [ $i ] = $file ; $i ++; } } else { print 'В папке, которую вы указали нет данных счётчика!' ; }
$itogo = count ( $lines ) ; $k = 0 ; $text = null ;
do {
$fline = file ( "$datadir /$lines [$k ]" ) ;
if ( $fitogo != 0 and $lines [ $k ] != "all.dat" and $lines [ $k ] != "last.dat" and $lines [ $k ] != "mainbase.dat" and $lines [ $k ] != ".htaccess" )
{
$then = mktime ( 0
, 0
, 0
, $dt [ 1
] , $dt [ 0
] , $dt [ 2
] ) ; $tekdate = date ( "d.m.Y" , $then ) ;
// Удаляем старые данные
if ( $deldt > $then ) { unlink ( "$datadir /$lines [$k ]" ) ; }
// Блок считает ХОСТЫ (уникальных посетителей)
$numip = "0" ; $numsys = "0" ; $hi = 0 ; $ab = "0" ; $ac = "0" ;
do {
if ( $ab != $dt [ 0] ) { $ab = $dt [ 0] ; $numip ++; }
if ( isset ( $dt [ 2
] ) ) { if ( $ac != $dt [ 2
] ) { $ac = $dt [ 2
] ; $numsys ++; } } $hi ++;
} while ( $hi < $fitogo ) ;
$text .= "$then |$fitogo |$numip |$numsys |\r \n " ;
}
$k ++;
} while ( $k < $itogo ) ;
$fp = fopen ( "$datadir /mainbase.dat" , "w" ) ; fflush ( $fp ) ; //очищение файлового буфера @ chmod ( "$datadir /mainbase.dat" , 0644
) ;
// сортируем данные
$lines = file ( "$datadir /mainbase.dat" ) ;
print "<HTML><head><META content='text/html; charset=windows-1251' http-equiv=Content-Type></head>
<BODY text=#000000 leftMargin=0 topMargin=0 rightMargin=0 bottomMargin=0 marginheight=0 marginwidth=0><center>
<B>Информация по посещаемости</B>
<TABLE border=0 cellSpacing=0 cellPadding=0 width=\" 98%\" ><TR><TD valign=top>" ;
if ( sizeof ( $lines ) >= 1 ) { // ЕСЛИ есть данные - то выводим графики
if ( $gtype == "1" ) { // ВЕРТИКАЛЬНЫЙ график
$xdaym = "</TR><TR><TD align=center><small>Дата</TD><TD> </TD>\r \n " ; $graph1 = "" ; $graph2 = "" ; // Формируем данные для графиков
$g1shapka = "<table border=0 cellSpacing=0 cellPadding=0 align=center><tr align=center valign=bottom><TD valign=middle><small>К<BR>О<BR>Л<BR>-<BR>В<BR>О<BR><B><BR>Х<BR>И<BR>Т<BR>О<BR>В</TD><TD><img src='images/v1scale.gif' border=0></TD>\r \n " ;
$g2shapka = "<table border=0 cellSpacing=0 cellPadding=0 align=center><tr align=center valign=bottom><TD valign=middle><small>К<BR>О<BR>Л<BR>-<BR>В<BR>О<BR><B><BR>Х<BR>О<BR>С<BR>Т<BR>О<BR>В</TD><TD><img src='images/v2scale.gif' border=0></TD>\r \n " ;
for ( $i = 0 ; $i < $maxi ; $i ++ ) { // начало FOR
$dttn1 = round ( $dtt [ 1
] * $scale1 ) ; // шкала 1-го графика $dttn2 = round ( $dtt [ 2
] * $scale2 ) ; // шкала 2-го графика
$graph1 .= "<TD><table cellSpacing=0 cellPadding=0><TR><TD width=24 align=center><small>$dtt[1] </small></TD></TR><TR><TD align=center><img src='images/v1.gif' height=$dttn1 width=20></TD></TR></TABLE></td>\r \n " ;
$graph2 .= "<TD><table cellSpacing=0 cellPadding=0><TR><TD width=24 align=center><small>$dtt[2] </small></TD></TR><TR><TD align=center><img src='images/v2.gif' height=$dttn2 width=20></TD></TR></TABLE></td>\r \n " ;
if ( $i == $maxi - 1
) { $m1 = date ( "m" , $dtt [ 0
] ) - 1 ; } $xdaym .= "<td align=center><small>$xday </small></TD>\r \n " ;
} // конец FOR
$mm1 = $months [ $m0 ] ; $mm2 = $months [ $m1 ] ; if ( $mm1 == $mm2 ) { $mm1 = "" ; } else { $mm1 .= " - " ; }
$msdat = "</TR></TABLE><BR><center>Период: <B>$mm1 $mm2 </B></center>\r \n " ;
print "$g1shapka $graph1 $xdaym </TR></TABLE>" ; // печатаем 1-ый ГРАФИК
print "$g2shapka $graph2 $xdaym $msdat <BR>" ; // печатаем 2-ой ГРАФИК
} else { // ГОРИЗОНТАЛЬНЫЙ график
$g1shapka = "<table cellSpacing=0 cellPadding=0 align=center><tr align=center valign=bottom><TD valign=middle><small>Дата</TD><TD>КОЛ-ВО <B>ХИТОВ</TD></TR><TR><TD> </TD><TD><img src='images/g1scale.gif' border=0></TD>\r \n " ;
$g2shapka = "<table cellSpacing=0 cellPadding=0 align=center><tr align=center valign=bottom><TD valign=middle><small>Дата</TD><TD>КОЛ-ВО <B>ХОСТОВ</TD></TR><TR><TD> </TD><TD><img src='images/g2scale.gif' border=0></TD>\r \n " ;
$xdaym = "" ; $graph1 = "" ; $graph2 = "" ; // Формируем данные для графиков
for ( $i = 0 ; $i < $maxi ; $i ++ ) { // начало FOR
//$dtt[0]=date("d.m.y",$dtt[0]);
if ( $i == $maxi - 1
) { $m1 = date ( "m" , $dtt [ 0
] ) - 1 ; }
$dttn1 = round ( $dtt [ 1
] * $scale1 ) ; // шкала 1-го графика $dttn2 = round ( $dtt [ 2
] * $scale2 ) ; // шкала 2-го графика
$graph1 .= "<tr><TD align=center><small>$xday </small></TD><td><table cellSpacing=0 cellPadding=0><TR><TD><img src='images/g1.gif' height=16 width=$dttn1 ></TD><TD align=center> <small>$dtt[1] </small></TD></TR></TABLE></td></tr>" ;
$graph2 .= "<tr><TD align=center><small>$xday </small></TD><td><table cellSpacing=0 cellPadding=0><TR><TD><img src='images/g2.gif' height=16 width=$dttn2 ></TD><TD align=center> <small>$dtt[2] </small></TD></TR></TABLE></td></tr>" ;
} // конец FOR
$mm1 = $months [ $m0 ] ; $mm2 = $months [ $m1 ] ; if ( $mm1 == $mm2 ) { $mm1 = "" ; } else { $mm1 .= " - " ; }
$msdat = "</tr><TR><TD colspan=2><center><small>Период:</small> <B>$mm1 $mm2 </B></center>\r \n " ;
print "<BR>$g1shapka $graph1 $xdaym </TR></TABLE></TD><TD width='50%' valign=top> <!-- Делим экран пополам -->" ; // печатаем 1-ый ГРАФИК
print "<BR>$g2shapka $graph2 $xdaym </TR></TABLE></TD>$msdat <BR>" ; // печатаем 2-ой ГРАФИК
} // else ($gtype)
print "</center>P.S. <B>Хиты</B> - кол-во посещений страниц где установлен счётчик;<BR>
<B>Хосты</B> - кол-во посетителей с уникальным IP-адресом.<BR>" ;
} else { print "<center><br><br>Данные для графика отсутствуют.<br> Посещений за последний период не было.<br><br>" ; }
?>
<center><small>Powered by <a href="http://www.wr-script.ru/" target="_blank">WR-Counter</a> © 1.2<br></small></center>
</TD></TR></table>
</body></html>
counter.php
PHP:
скопировать код в буфер обмена
<? // WR-Counter v 1.2 // 05.01.08 г. // Miha-ingener@yandex.ru
#error_reporting (E_ALL);
include "config.php" ;
// Блок МЫЛИТ СТАТИСТИКУ АДМИНУ
$ldate = "0" ;
if ( is_file ( "$datadir /last.dat" ) ) { $lline = file ( "$datadir /last.dat" ) ; $li = count ( $lline ) ; if ( $li > 0
) { $ldate = $lline [ 0
] ; } } $datescribe = $ldate + 7* 86400 ; // расчитываем дату отправки
if ( $today > $datescribe ) { include ( "infomail.php" ) ; }
function addSpace
( $num ) { $strlen = 17
- strlen ( $num ) ; $space = null ; while ( $strlen ) { $space .= " " ; $strlen --; } return $space . $num ; }
function read_file( $path )
elseif ( $array = file ( $path ) ) return $array ; return $array ; }
function normal_numeric( $number )
{ if ( ! isset ( $number ) ) return false ; $new = null ;
for ( $i = $strlen - 1 ; $i >- 1 ; $i -- )
{ $n = $i ; $n ++; if
( strstr ( $n / 3 , "." ) ) $new .= $number [ $strlen - 1
- $i ] ; else if ( $n != $strlen ) $new .= " " . $number [ $strlen - 1- $i ] ;
else $new .= $number [ $strlen - 1- $i ] ; }
return $new ; } }
//----- END FUNCTIONS ------//
if ( ! extension_loaded ( "gd" ) ) { error
( "У Вашего хостера моуль GD не загружен - скрипт работать НЕ будет" , date ( "Дата: d.m.Y. Время: H:i:s" , time ( ) ) ) ; exit ; }
$ip = ( isset ( $_SERVER [ 'REMOTE_ADDR' ] ) ) ?
$_SERVER [ 'REMOTE_ADDR' ] : 0 ; $a = $b = $c = null ;
if ( isset ( $_SERVER [ "HTTP_REFERER" ] ) ) { $from = $_SERVER [ "HTTP_REFERER" ] ; } else { $from = "" ; } //if (isset($_SERVER["HTTP_USER_AGENT"])) {$who=$_SERVER["HTTP_USER_AGENT"];} else {$who="";}
$who = "" ;
if ( isset ( $_SERVER [ "SCRIPT_NAME" ] ) ) { $gde = $_SERVER [ "SCRIPT_NAME" ] ; } else { $gde = "" ; } if ( ! is_file ( "$datadir /$today .dat" ) ) { $OpenToday = fopen ( "$datadir /$today .dat" , "a" ) ; fclose ( $OpenToday ) ; }
$itogo = read_file
( "$datadir /all.dat" ) ; if ( ! isset ( $itogo [ 0
] ) ) $itogo [ 0
] = 0 ; $ft = fopen ( "$datadir /$today .dat" , "a" ) ; flock ( $ft , LOCK_EX
) ; fwrite ( $ft , "$ip |$times |$gde |$who |$from |\r \n " ) ; flock ( $ft , LOCK_UN
) ; fclose ( $ft ) ; @ chmod ( "$datadir /$today .dat" , 0644
) ; $newlines = read_file( "$datadir /$today .dat" ) ;
for ( $i = 0 ; $i < count ( $newlines ) ; $i ++ ) { $dt = explode ( "|" , $newlines [ $i ] ) ; $lines [ $i ] = $dt [ 0
] ; }
header ( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" ) ; header ( "Cache-Control: no-store, no-cache, must-revalidate" ) ; header ( "Cache-Control: post-check=0, pre-check=0" , false ) ;
ImageString ( $image , 1 , 0 , 2 , addSpace
( normal_numeric
( "$a " ) ) , $color1 ) ;
infomail.php
PHP:
скопировать код в буфер обмена
<? // WR-Counter v 1.2 // 05.01.08 г. // Miha-ingener@yandex.ru
#error_reporting (E_ALL);
include "config.php" ;
// Блок МЫЛИТ СТАТИСТИКУ АДМИНУ
$ldate = "0" ;
if ( is_file ( "$datadir /last.dat" ) ) { $lline = file ( "$datadir /last.dat" ) ; $li = count ( $lline ) ; if ( $li > 0
) { $ldate = $lline [ 0
] ; } } $datescribe = $ldate + 7* 86400 ; // расчитываем дату отправки
if ( $today > $datescribe ) { include ( "infomail.php" ) ; }
function addSpace
( $num ) { $strlen = 17
- strlen ( $num ) ; $space = null ; while ( $strlen ) { $space .= " " ; $strlen --; } return $space . $num ; }
function read_file( $path )
elseif ( $array = file ( $path ) ) return $array ; return $array ; }
function normal_numeric( $number )
{ if ( ! isset ( $number ) ) return false ; $new = null ;
for ( $i = $strlen - 1 ; $i >- 1 ; $i -- )
{ $n = $i ; $n ++; if
( strstr ( $n / 3 , "." ) ) $new .= $number [ $strlen - 1
- $i ] ; else if ( $n != $strlen ) $new .= " " . $number [ $strlen - 1- $i ] ;
else $new .= $number [ $strlen - 1- $i ] ; }
return $new ; } }
//----- END FUNCTIONS ------//
if ( ! extension_loaded ( "gd" ) ) { error
( "У Вашего хостера моуль GD не загружен - скрипт работать НЕ будет" , date ( "Дата: d.m.Y. Время: H:i:s" , time ( ) ) ) ; exit ; }
$ip = ( isset ( $_SERVER [ 'REMOTE_ADDR' ] ) ) ?
$_SERVER [ 'REMOTE_ADDR' ] : 0 ; $a = $b = $c = null ;
if ( isset ( $_SERVER [ "HTTP_REFERER" ] ) ) { $from = $_SERVER [ "HTTP_REFERER" ] ; } else { $from = "" ; } //if (isset($_SERVER["HTTP_USER_AGENT"])) {$who=$_SERVER["HTTP_USER_AGENT"];} else {$who="";}
$who = "" ;
if ( isset ( $_SERVER [ "SCRIPT_NAME" ] ) ) { $gde = $_SERVER [ "SCRIPT_NAME" ] ; } else { $gde = "" ; } if ( ! is_file ( "$datadir /$today .dat" ) ) { $OpenToday = fopen ( "$datadir /$today .dat" , "a" ) ; fclose ( $OpenToday ) ; }
$itogo = read_file
( "$datadir /all.dat" ) ; if ( ! isset ( $itogo [ 0
] ) ) $itogo [ 0
] = 0 ; $ft = fopen ( "$datadir /$today .dat" , "a" ) ; flock ( $ft , LOCK_EX
) ; fwrite ( $ft , "$ip |$times |$gde |$who |$from |\r \n " ) ; flock ( $ft , LOCK_UN
) ; fclose ( $ft ) ; @ chmod ( "$datadir /$today .dat" , 0644
) ; $newlines = read_file( "$datadir /$today .dat" ) ;
for ( $i = 0 ; $i < count ( $newlines ) ; $i ++ ) { $dt = explode ( "|" , $newlines [ $i ] ) ; $lines [ $i ] = $dt [ 0
] ; }
header ( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" ) ; header ( "Cache-Control: no-store, no-cache, must-revalidate" ) ; header ( "Cache-Control: post-check=0, pre-check=0" , false ) ;
ImageString ( $image , 1 , 0 , 2 , addSpace
( normal_numeric
( "$a " ) ) , $color1 ) ; ImageString ( $image , 1 , 0 , 12 , addSpace
( normal_numeric
( "$b " ) ) , $color2 ) ; ImageString ( $image , 1 , 0 , 21 , addSpace
( normal_numeric
( "$c " ) ) , $color3 ) ;
?>
config.php
PHP:
скопировать код в буфер обмена
<? // WR-Counter v 1.2 // 05.01.08 г. // Miha-ingener@yandex.ru
$password = "c87ae4dc647337221802c0e030a48924" ; // Пароль админа защифрован md5()
$adminemail = "email@email.ru" ; // Емайл админа
$sendstat = "0" ; // Мылить статистику посещений админу?
$sendday = "7" ; // Периодичность рассылки статистики
$gtype = "1" ; // Тип графика - горизонтальный / вертикальный ( 1/0 )
$days = "30" ; // Сколько суток хранить статистику?
$scale1 = "0.5" ; // Коэффициент масштабирования графика ХИТОВ
$scale2 = "2" ; // Коэффициент масштабирования графика ХОСТОВ
$datadir = "./data" ; // Путь к папке с данными счётчика '.' - текущая папка
$image = "counter1.png" ; // имя файла с рисунком счётчика
$s1r = "255" ; $s1g = "255" ; $s1b = "255" ; // RGB - 1-й цифры
$s2r = "205" ; $s2g = "205" ; $s2b = "205" ; // RGB - 2-й цифры
$s3r = "185" ; $s3g = "185" ; $s3b = "185" ; // RGB - 3-й цифры
$date = date ( "d.m.Y" ) ; // число.месяц.год $time = date ( "H:i:s" ) ; // часы:минуты:секунды ?>
рисунки и другое кидать не стал
LOL
Отправлено: 25 Ноября, 2010 - 12:28:12 • Тема: Spider • Форум: Напишите за меня, пожалуйста
Ответов: 0 Просмотров: 27
написал скрипт паука(плюс часть содрал и два чела помогал скрипт взят с sphider) вот код:PHP:
скопировать код в буфер обмена
<title>Индексируем сайт...</title>
<?PHP
$include_dir = "../include" ;
require_once ( "$include_dir /commonfuncs.php" ) ;
$all = 0 ;
$settings_dir = "../settings" ;
require_once ( "$settings_dir /conf.php" ) ;
include "$settings_dir /database.php" ;
include "messages.php" ;
echo '<style>body {background: #ededed; padding: 0; margin: 0;}</style><div align="center"><img src="/admin/images/loading.gif" alt="loading"><br></div>' ;
include "spiderfuncs.php" ;
$delay_time = 0 ;
$command_line = 0 ;
if ( isset ( $_SERVER [ 'argv' ] ) && $_SERVER [ 'argc' ] >= 2
) { $command_line = 1 ;
$ac = 1 ; //argument counter
while ( $ac < ( count ( $_SERVER [ 'argv' ] ) ) ) { $arg = $_SERVER [ 'argv' ] [ $ac ] ;
if ( $arg == '-all' ) {
$all = 1 ;
break ;
} else if ( $arg == '-u' ) {
$url = $_SERVER [ 'argv' ] [ $ac + 1] ;
$ac = $ac + 2 ;
} else if ( $arg == '-f' ) {
$soption = 'full' ;
$ac ++;
} else if ( $arg == '-d' ) {
$soption = 'level' ;
$maxlevel = $_SERVER [ 'argv' ] [ $ac + 1] ;;
$ac = $ac + 2 ;
} else if ( $arg == '-l' ) {
$domaincb = 1 ;
$ac ++;
} else if ( $arg == '-r' ) {
$reindex = 1 ;
$ac ++;
} else if ( $arg == '-m' ) {
$ac = $ac + 2 ;
} else if ( $arg == '-n' ) {
$ac = $ac + 2 ;
} else {
commandline_help( ) ;
}
}
}
if ( isset ( $soption ) && $soption == 'full' ) { $maxlevel = - 1 ;
}
$domaincb = 0 ;
}
$reindex = 0 ;
}
$maxlevel = 0 ;
}
if ( $keep_log ) {
if ( $log_format == "html" ) {
$log_file = $log_dir . "/" . Date ( "ymdHi" ) . ".html" ; } else {
$log_file = $log_dir . "/" . Date ( "ymdHi" ) . ".log" ; }
if ( ! $log_handle = fopen ( $log_file , 'w' ) ) { die ( "Вход опция установлена, но не может открыть файл для logging." ) ; }
}
if ( $all == 1) {
index_all( ) ;
} else {
if ( $reindex == 1 && $command_line == 1) {
$result = mysql_query ( "select url, spider_depth, required, disallowed, can_leave_domain from " . $mysql_table_prefix . "sites where url='$url '" ) ; $url = $row [ 0] ;
$maxlevel = $row [ 1] ;
$in = $row [ 2] ;
$out = $row [ 3] ;
$domaincb = $row [ 4] ;
if ( $domaincb == '' ) {
$domaincb = 0 ;
}
if ( $maxlevel == - 1) {
$soption = 'full' ;
} else {
$soption = 'level' ;
}
}
}
$in = "" ;
}
$out = "" ;
}
index_site( $url , $reindex , $maxlevel , $soption , $in , $out , $domaincb ) ;
}
function microtime_float( ) {
return ( ( float) $usec + ( float) $sec ) ;
}
function index_url( $url , $level , $site_id , $md5sum , $domain , $indexdate , $sessid , $can_leave_domain , $reindex ) {
global $entities , $min_delay ;
global $command_line ;
global $min_words_per_page ;
global $supdomain ;
global $mysql_table_prefix , $user_agent , $tmp_urls , $delay_time , $domain_arr ;
$needsReindex = 1 ;
$deletable = 0 ;
$url_status = url_status( $url ) ;
$thislevel = $level - 1 ;
if ( strstr ( $url_status [ 'state' ] , "Relocation" ) ) { $url = eregi_replace ( " " , "" , url_purify
( $url_status [ 'path' ] , $url , $can_leave_domain ) ) ;
if ( $url <> '' ) {
$result = mysql_query ( "select link from " . $mysql_table_prefix . "temp where link='$url ' && id = '$sessid '" ) ; if ( $rows == 0) {
mysql_query ( "insert into " . $mysql_table_prefix . "temp (link, level, id) values ('$url ', '$level ', '$sessid ')" ) ; }
}
$url_status [ 'state' ] == "redirected" ;
}
/*
if ($indexdate <> '' && $url_status['date'] <> '') {
if ($indexdate > $url_status['date']) {
$url_status['state'] = "Date checked. Page contents not changed";
$needsReindex = 0;
}
}*/
ini_set ( "user_agent" , $user_agent ) ; if ( $url_status [ 'state' ] == 'ok' ) {
$OKtoIndex = 1 ;
$file_read_error = 0 ;
if ( time ( ) - $delay_time < $min_delay ) { }
if ( $file === FALSE ) {
$file_read_error = 1 ;
}
} else {
if ( $fl ) {
while ( $buffer = @ fgets ( $fl , 4096
) ) { $file .= $buffer ;
}
} else {
$file_read_error = 1 ;
}
}
if ( $file_read_error ) {
$contents = getFileContents( $url ) ;
$file = $contents [ 'file' ] ;
}
preg_match ( "@<head[^>]*>(.*?)<\/head>@si" , $file , $regs ) ; $headdata = $regs [ 1] ;
preg_match ( "/<meta +http-equiv *=[\" ']?Content-Type[\" ']? *content=[\" ']?([^<>'\" ]+)[\" ']?/i" , $headdata , $res ) ; $content = $res [ 1] ;
}
if ( $content == "" ) {
}
$codepages = array ( "windows-1251" , "utf-8" , "koi8-r" ) ;
for ( $i = 0 ; $i < count( $codepages ) ; $i ++ ) {
$cur_codepage = $codepages [ $i ] ;
break ;
}
}
if ( $cur_codepage != "UTF-8" || $cur_codepage != "" ) {
$file = iconv ( $cur_codepage , "windows-1251" , $file ) ; }
printPageSizeReport( $pageSize ) ;
if ( $url_status [ 'content' ] != 'text' ) {
$file = extract_text( $file , $url_status [ 'content' ] ) ;
}
printStandardReport( 'starting' , $command_line ) ;
if ( $md5sum == $newmd5sum ) {
printStandardReport( 'md5notChanged' , $command_line ) ;
$OKtoIndex = 0 ;
} else if ( isDuplicateMD5( $newmd5sum ) ) {
$OKtoIndex = 0 ;
printStandardReport( 'duplicate' , $command_line ) ;
}
if ( ( $md5sum != $newmd5sum || $reindex == 1) && $OKtoIndex == 1) {
$newdomain = $urlparts [ 'host' ] ;
$type = 0 ;
/* if ($newdomain <> $domain)
$domainChanged = 1;
if ($domaincb==1) {
$start = strlen($newdomain) - strlen($supdomain);
if (substr($newdomain, $start) == $supdomain) {
$domainChanged = 0;
}
}*/
// remove link to css file
//get all links from file
$data = clean_file( $file , $url , $url_status [ 'content' ] ) ;
if ( $data [ 'noindex' ] == 1) {
$OKtoIndex = 0 ;
$deletable = 1 ;
printStandardReport( 'metaNoindex' , $command_line ) ;
}
$wordarray = unique_array
( explode ( " " , $data [ 'content' ] ) ) ;
if ( $data [ 'nofollow' ] != 1) {
$links = get_links( $file , $url , $can_leave_domain , $data [ 'base' ] ) ;
$links = distinct_array( $links ) ;
$all_links = count ( $links ) ; $numoflinks = 0 ;
//if there are any, add to the temp table, but only if there isnt such url already
while ( $thislink = each ( $links ) ) { if ( $tmp_urls [ $thislink [ 1] ] != 1) {
$tmp_urls [ $thislink [ 1] ] = 1 ;
$numoflinks ++;
mysql_query ( "insert into " . $mysql_table_prefix . "temp (link, level, id) values ('$thislink[1] ', '$level ', '$sessid ')" ) ; }
}
}
} else {
printStandardReport( 'noFollow' , $command_line ) ;
}
if ( $OKtoIndex == 1) {
$title = $data [ 'title' ] ;
$host = $data [ 'host' ] ;
$path = $data [ 'path' ] ;
$fulltxt = $data [ 'fulltext' ] ;
$desc = substr ( $data [ 'description' ] , 0
, 254
) ; $domain_for_db = $url_parts [ 'host' ] ;
if ( isset ( $domain_arr [ $domain_for_db ] ) ) { $dom_id = $domain_arr [ $domain_for_db ] ;
} else {
mysql_query ( "insert into " . $mysql_table_prefix . "domains (domain) values ('$domain_for_db ')" ) ; $domain_arr [ $domain_for_db ] = $dom_id ;
}
$wordarray = calc_weights ( $wordarray , $title , $host , $path , $data [ 'keywords' ] ) ;
//if there are words to index, add the link to the database, get its id, and add the word + their relation
if ( is_array ( $wordarray ) && count ( $wordarray ) > $min_words_per_page ) { if ( $md5sum == '' ) {
mysql_query ( "insert into " . $mysql_table_prefix . "links (site_id, url, title, description, fulltxt, indexdate, size, md5sum, level) values ('$site_id ', '$url ', '$title ', '$desc ', '$fulltxt ', curdate(), '$pageSize ', '$newmd5sum ', $thislevel )" ) ; $result = mysql_query ( "select link_id from " . $mysql_table_prefix . "links where url='$url '" ) ; $link_id = $row [ 0] ;
save_keywords( $wordarray , $link_id , $dom_id ) ;
printStandardReport( 'indexed' , $command_line ) ;
} else if ( ( $md5sum <> '' ) && ( $md5sum <> $newmd5sum ) ) { //if page has changed, start updating
$result = mysql_query ( "select link_id from " . $mysql_table_prefix . "links where url='$url '" ) ; $link_id = $row [ 0] ;
for ( $i = 0 ; $i <= 15 ; $i ++ ) {
mysql_query ( "delete from " . $mysql_table_prefix . "link_keyword$char where link_id=$link_id " ) ; }
save_keywords( $wordarray , $link_id , $dom_id ) ;
$query = "update " . $mysql_table_prefix . "links set title='$title ', description ='$desc ', fulltxt = '$fulltxt ', indexdate=now(), size = '$pageSize ', md5sum='$newmd5sum ', level=$thislevel where link_id=$link_id " ;
printStandardReport( 're-indexed' , $command_line ) ;
}
} else {
printStandardReport( 'minWords' , $command_line ) ;
}
}
}
} else {
$deletable = 1 ;
printUrlStatus( $url_status [ 'state' ] , $command_line ) ;
}
if ( $reindex == 1 && $deletable == 1) {
check_for_removal( $url ) ;
} else if ( $reindex == 1) {
}
if ( ! isset ( $all_links ) ) { $all_links = 0 ;
}
if ( ! isset ( $numoflinks ) ) { $numoflinks = 0 ;
}
printLinksReport( $numoflinks , $all_links , $command_line ) ;
}
function index_site( $url , $reindex , $maxlevel , $soption , $url_inc , $url_not_inc , $can_leave_domain ) {
global $mysql_table_prefix , $command_line , $mainurl , $tmp_urls , $domain_arr , $all_keywords ;
if ( ! isset ( $all_keywords ) ) { $result = mysql_query ( "select keyword_ID, keyword from " . $mysql_table_prefix . "keywords" ) ; }
}
if ( $compurl [ 'path' ] == '' )
$url = $url . "/" ;
$domain = $urlparts [ 'host' ] ;
if ( isset ( $urlparts [ 'port' ] ) ) { $port = ( int) $urlparts [ 'port' ] ;
} else {
$port = 80 ;
}
$result = mysql_query ( "select site_id from " . $mysql_table_prefix . "sites where url='$url '" ) ; $site_id = $row [ 0] ;
if ( $site_id != "" && $reindex == 1) {
mysql_query ( "insert into " . $mysql_table_prefix . "temp (link, level, id) values ('$url ', 0, '$sessid ')" ) ; $result = mysql_query ( "select url, level from " . $mysql_table_prefix . "links where site_id = $site_id " ) ; $site_link = $row [ 'url' ] ;
$link_level = $row [ 'level' ] ;
if ( $site_link != $url ) {
mysql_query ( "insert into " . $mysql_table_prefix . "temp (link, level, id) values ('$site_link ', $link_level , '$sessid ')" ) ; }
}
$qry = "update " . $mysql_table_prefix . "sites set indexdate=now(), spider_depth = $maxlevel , required = '$url_inc '," .
"disallowed = '$url_not_inc ', can_leave_domain=$can_leave_domain where site_id=$site_id " ;
} else if ( $site_id == '' ) {
mysql_query ( "insert into " . $mysql_table_prefix . "sites (url, indexdate, spider_depth, required, disallowed, can_leave_domain) " . "values ('$url ', now(), $maxlevel , '$url_inc ', '$url_not_inc ', $can_leave_domain )" ) ;
$result = mysql_query ( "select site_ID from " . $mysql_table_prefix . "sites where url='$url '" ) ; $site_id = $row [ 0] ;
} else {
mysql_query ( "update " . $mysql_table_prefix . "sites set indexdate=now(), spider_depth = $maxlevel , required = '$url_inc '," . "disallowed = '$url_not_inc ', can_leave_domain=$can_leave_domain where site_id=$site_id " ) ;
}
$result = mysql_query ( "select site_id, temp_id, level, count, num from " . $mysql_table_prefix . "pending where site_id='$site_id '" ) ; $pending = $row [ 0] ;
$level = 0 ;
$domain_arr = get_domains( ) ;
if ( $pending == '' ) {
mysql_query ( "insert into " . $mysql_table_prefix . "temp (link, level, id) values ('$url ', 0, '$sessid ')" ) ; } else if ( $pending != '' ) {
printStandardReport( 'continueSuspended' , $command_line ) ;
mysql_query ( "select temp_id, level, count from " . $mysql_table_prefix . "pending where site_id='$site_id '" ) ; $sessid = $row [ 1] ;
$level = $row [ 2] ;
$pend_count = $row [ 3] + 1 ;
$num = $row [ 4] ;
$pending = 1 ;
$tmp_urls = get_temp_urls( $sessid ) ;
}
if ( $reindex != 1) {
mysql_query ( "insert into " . $mysql_table_prefix . "pending (site_id, temp_id, level, count) values ('$site_id ', '$sessid ', '0', '0')" ) ; }
$omit = check_robot_txt( $url ) ;
printHeader ( $omit , $url , $command_line ) ;
$mainurl = $url ;
$num = 0 ;
while ( ( $level <= $maxlevel && $soption == 'level' ) || ( $soption == 'full' ) ) {
if ( $pending == 1) {
$count = $pend_count ;
$pending = 0 ;
} else
$count = 0 ;
$result = mysql_query ( "select distinct link from " . $mysql_table_prefix . "temp where level=$level && id='$sessid ' order by link" ) ;
if ( $rows == 0) {
break ;
}
$i = 0 ;
$links [ ] = $row [ 'link' ] ;
}
while ( $count < count ( $links ) ) { $num ++;
$thislink = $links [ $count ] ;
$forbidden = 0 ;
foreach ( $omit as $omiturl ) {
$omiturl = trim ( $omiturl ) ;
if ( $omiturl_parts [ 'scheme' ] == '' ) {
$check_omit = $urlparts [ 'host' ] . $omiturl ;
} else {
$check_omit = $omiturl ;
}
if ( strpos ( $thislink , $check_omit ) ) { printRobotsReport( $num , $thislink , $command_line ) ;
check_for_removal( $thislink ) ;
$forbidden = 1 ;
break ;
}
}
if ( ! check_include( $thislink , $url_inc , $url_not_inc ) ) {
printUrlStringReport( $num , $thislink , $command_line ) ;
check_for_removal( $thislink ) ;
$forbidden = 1 ;
}
if ( $forbidden == 0) {
printRetrieving( $num , $thislink , $command_line ) ;
$query = "select md5sum, indexdate from " . $mysql_table_prefix . "links where url='$thislink '" ;
if ( $rows == 0) {
index_url( $thislink , $level + 1, $site_id , '' , $domain , '' , $sessid , $can_leave_domain , $reindex ) ;
mysql_query ( "update " . $mysql_table_prefix . "pending set level = $level , count=$count , num=$num where site_id=$site_id " ) ; } else if ( $rows <> 0 && $reindex == 1) {
$md5sum = $row [ 'md5sum' ] ;
$indexdate = $row [ 'indexdate' ] ;
index_url( $thislink , $level + 1, $site_id , $md5sum , $domain , $indexdate , $sessid , $can_leave_domain , $reindex ) ;
mysql_query ( "update " . $mysql_table_prefix . "pending set level = $level , count=$count , num=$num where site_id=$site_id " ) ; } else {
printStandardReport( 'inDatabase' , $command_line ) ;
}
}
$count ++;
}
$level ++;
}
mysql_query ( "delete from " . $mysql_table_prefix . "temp where id = '$sessid '" ) ; mysql_query ( "delete from " . $mysql_table_prefix . "pending where site_id = '$site_id '" ) ; printStandardReport( 'completed' , $command_line ) ;
}
function index_all( ) {
global $mysql_table_prefix ;
$result = mysql_query ( "select url, spider_depth, required, disallowed, can_leave_domain from " . $mysql_table_prefix . "sites" ) ; $url = $row [ 0] ;
$depth = $row [ 1] ;
$include = $row [ 2] ;
$not_include = $row [ 3] ;
$can_leave_domain = $row [ 4] ;
if ( $can_leave_domain == '' ) {
$can_leave_domain = 0 ;
}
if ( $depth == - 1) {
$soption = 'full' ;
} else {
$soption = 'level' ;
}
index_site( $url , 1, $depth , $soption , $include , $not_include , $can_leave_domain ) ;
}
}
function get_temp_urls ( $sessid ) {
global $mysql_table_prefix ;
$result = mysql_query ( "select link from " . $mysql_table_prefix . "temp where id='$sessid '" ) ; $tmp_urls [ $row [ 0] ] = 1 ;
}
return $tmp_urls ;
}
function get_domains ( ) {
global $mysql_table_prefix ;
$result = mysql_query ( "select domain_id, domain from " . $mysql_table_prefix . "domains" ) ; $domains [ $row [ 1] ] = $row [ 0] ;
}
return $domains ;
//почти канец
}
function commandline_help( ) {
print "Usage: php spider.php <options>\n \n " ;
print "Опции:\n " ;
print " -all\t \t Переиндексировать все\n " ;
print " -u <url>\t Set url to index\n " ;
print " -f\t \t Задать индексации глубину до полной (неограниченная глубина)\n " ;
print " -d <num>\t Задать индексации глубину <num>\n " ;
print " -l\t \t Разрешить паука, чтобы оставить первоначальный домен\n " ;
print " -r\t \t Задать паука, чтобы индексировать сайт\n " ;
print " -m <string>\t Задать строке (S), что URL должен включать (используйте \\ n в качестве разделителя между несколькими строками)\n " ;
print " -n <string>\t Задать строке (S), что URL не должен включать (используйте \\ n в качестве разделителя между несколькими строками)\n " ;
}
printStandardReport( 'quit' , $command_line ) ;
if ( $email_log ) {
$indexed = ( $all == 1 ) ? 'ALL' : $url ;
$log_report = "" ;
if ( $log_handle ) {
$log_report = "Лог сохраняются в $log_file " ;
}
mail ( $admin_email , "Доклад Magic Search:" , "Magic Search закончил индексирование $indexed at " . date ( "y-m-d H:i:s" ) . ". " . $log_report ) ; }
if ( $log_handle ) {
}
?>
но этот паук почему то индексирует сайт который введеш и даже есть ссылки на другие сайты он их не берет
вчем дело??(если чего то недостаточно могу весь движолк вывалить..
LOL
Отправлено: 20 Ноября, 2010 - 12:41:17 • Тема: Код • Форум: Напишите за меня, пожалуйста
Ответов: 22 Просмотров: 273
я хочу узнать а где можно в этом коде добавить поисковиков?
и дай код гугля и фейсбука и плюс живого журнала
Страниц (5): « 1 2 3 [4] 5 »
Powered by ExBB FM 1.0 RC1. InvisionExBB