Gavin Shaw
Members-
Content Count
14 -
Joined
-
Last visited
Everything posted by Gavin Shaw
-
http://forums.xisto.com/no_longer_exists/ full features DNS service:SOA NS A CNAME MX AXFR PTR SRV Dynamic DNS You can enable Primary DNS service or Secondary DNS service If you use it as secondary dns, you should add them to you DNS List at your registar, and allow them get AXFR from your primary DNS server.
-
Totem or MPlayer on Linux Systemwin32codec support
-
google pagerank checksum algorithm in python Python is the best dynamic language:P
-
The Best Database What do you think is the best database?
Gavin Shaw replied to volrathxiii's topic in Programming
There is a better, no a bestBut I like PostgreSQL and MySQL:D -
It's a complete scripting. I have added comments to the source code Server-side scripting source code http://forums.xisto.com/no_longer_exists/ /* * convert a string to a 32-bit integer * the string maybe is your webpage's url */function StrToNum($Str, $Check, $Magic)/* * Genearate a hash string from a url */function HashURL($String)/* * genearate a checksum for the hash string */function CheckHash($Hashnum)$C = "<a href=\"https://www.google.com/search?client=navclient-auto&features=Rank:&q=info = "\">Get PageRank</a>";if (isset ($_GET['url'])) { echo $C.$_GET['url'].'&ch='.CheckHash(HashURL($_GET['url'])).$E;} If the scripting get a url parameter from your browser, it will generate a checksum for the url
-
Thank your reply. The code above is a complete CLI script,which get $argc and $argv from the shell command line please refer to http://php.net/manual/en/intro-whatcando.php Server-side scripting demo http://forums.xisto.com/no_longer_exists/ Server-side scripting source code http://forums.xisto.com/no_longer_exists/pagerank.php.zip
-
Toolbar V 4.0.x Pagerank checksum caculator #!/usr/bin/php<?php/* Google PageRank Checksum Algorithm (Toolbar 3.x/4.x) http://forums.xisto.com/no_longer_exists/ http://forums.xisto.com/no_longer_exists/ StrToNum($Str, $Check, $Magic){ $Int32Unit = 4294967296; // 2^32 $length = strlen($Str); for ($i = 0; $i < $length; $i++) { $Check *= $Magic; //If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31), // the result of converting to integer is undefined // refer to http://http://php.net/manual/en/language.types.integer.php if (is_float($Check)) { $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit)); // - 2^31 $Check = ($Check < -2147483647) ? ($Check + $Int32Unit) : $Check; } $Check += ord($Str{$i}); } return $Check;}function HashURL($String){ $Check1 = StrToNum($String, 0x1505, 0x21); $Check2 = StrToNum($String, 0, 0x1003F); $Check1 >>= 2; $Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F); $Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF); $Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF); $T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 ) | ($Check2 & 0xF0F ); $T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 ); return ($T1 | $T2);}function CheckHash($Hashnum){ $CheckByte = 0; $Flag = 0; $HashStr = sprintf('%u', $Hashnum); $length = strlen($HashStr); for ($i = $length - 1; $i >= 0; $i --) { $Re = $HashStr{$i}; if (1 == ($Flag % 2)) { $Re += $Re; $Re = (int)($Re / 10) + ($Re % 10); } $CheckByte += $Re; $Flag ++; } $CheckByte %= 10; if (0 !== $CheckByte) { $CheckByte = 10 - $CheckByte; if (1 === ($Flag%2) ) { if (1 === ($CheckByte % 2)) { $CheckByte += 9; } $CheckByte >>= 1; } } return '7'.$CheckByte.$HashStr;}if ($argc == 2) { echo CheckHash(HashURL($argv[1]));} else { exit ("please specify a URL,for example: http://forums.xisto.com/no_longer_exists/; I have tested on Debian GNU/Linux etch