Помогите найти ошибку в скрипте

UB
На сайте с 13.04.2006
Offline
44
488

Скрипт не мой. Брал отсюда: http://www.icemelon.com/php/site_pageranks.htm

Fatal error: Call to undefined function: site_pageranks() in z:\home\test1.ru\ on line 105Код:

<?php

define('GOOGLE_MAGIC', 0xE6359A60);

//unsigned shift right
function zeroFill($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;
}

function mix($a,$b,$c) {
$a -= $b; $a -= $c; $a ^= (zeroFill($c,13));
$b -= $c; $b -= $a; $b ^= ($a<<8);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
$b -= $c; $b -= $a; $b ^= ($a<<16);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,3));
$b -= $c; $b -= $a; $b ^= ($a<<10);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,15));

return array($a,$b,$c);
}

function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {
if(is_null($length)) {
$length = sizeof($url);
}
$a = $b = 0x9E3779B9;
$c = $init;
$k = 0;
$len = $length;
while($len >= 12) {
$a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
$b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
$c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
$mix = mix($a,$b,$c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}

$c += $length;
switch($len) /* all the case statements fall through */
{
case 11: $c+=($url[$k+10]<<24);
case 10: $c+=($url[$k+9]<<16);
case 9 : $c+=($url[$k+8]<<8);
/* the first byte of c is reserved for the length */
case 8 : $b+=($url[$k+7]<<24);
case 7 : $b+=($url[$k+6]<<16);
case 6 : $b+=($url[$k+5]<<8);
case 5 : $b+=($url[$k+4]);
case 4 : $a+=($url[$k+3]<<24);
case 3 : $a+=($url[$k+2]<<16);
case 2 : $a+=($url[$k+1]<<8);
case 1 : $a+=($url[$k+0]);
/* case 0: nothing left to add */
}
$mix = mix($a,$b,$c);
/*-------------------------------------------- report the result */
return $mix[2];
}

//converts a string into an array of integers containing the numeric value of the char
function strord($string) {
for($i=0;$i; $html, $m);

foreach($m[1] AS $url) {
// check if $domain
if(preg_match("/^http:\/\/.*$domain/i", $url)) {
// check if local page
if(!preg_match('/http:\/\//i', $url))
$url = "http://www.$domain/$url";
// get rid of PHPSESSID
if(preg_match('/(\?PHPSESSID=\w+)$/i', $url, $m2))
$url = str_replace($m2[1], '', $url);

// check if url checked
if(!in_array($url, $_SESSION['urls'])) {
$_SESSION['urls'][] = $url;
$pr = google_pagerank($url);
$pr = trim($pr);
$_SESSION['pageranks'][$pr][] = $url;

site_pageranks($url, $domain);
}
}
}
}

session_start();
set_time_limit(0);
site_pageranks('http://www.icemelon.com', 'icemelon.com');
print_r($_SESSION['pageranks']);

?>
edogs software
На сайте с 15.12.2005
Offline
775
#1

http://www.icemelon.com/php/site_pageranks.htm

функция там указана как связанная с

http://www.icemelon.com/php/google_pagerank.htm

подозреваем что их надо использовать совместно.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
Mmonger
На сайте с 01.12.2005
Offline
165
#2

Правильно, site_pageranks() не определена. Найдите код этой функции (на указанном сайте написано, что она базируется на google_pagerank). Определение функции не нашёл, но подозреваю, что можно слегка модифицировать google_pagerank().

Всё будет хорошо, но мы приложим усилия!
DENIEL
На сайте с 15.11.2005
Offline
73
#3

UAWEB

А зачем Вам этот скрипт? Особенно в такой извращенной форме как:

print_r($_SESSION['pageranks']);

В интернете можете найти более удачный скрипт для определения PR.

Вроде даже на форуме он был.

Вот тут скорей всего тот скрипт, который Вы наверное не правильно скопировали:

/ru/forum/56640

Прежде чем что-то сказать думайте, если не хотите думать - лучше не говорите.
UB
На сайте с 13.04.2006
Offline
44
#4

Спасибо всем большое!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий