Google AJAX Libraries API
Google lagi-lagi berinovasi, kali ini bernama Google AJAX Libraries API. API ini akan sangat bermanfaat untuk web developer yang sering berurusan dengan AJAX pada proyek-proyeknya. Daripada menyimpan library-library ataupun framework javascript pada server sendiri, google telah menyediakan untuk kita.
Read more
PHP Functions untuk Cek Total Yahoo Backlink
Kemarin iseng-iseng bikin function ini untuk SEO analysis.
Requirement:
PHP 5.xx
SimpleXML enable
Yahoo API (bisa didapatkan di sini)
Cara pakai:
$total_yahoo_bl = ybl(”http://ngkong.net/”);
echo $total_yahoo_bl;
- $yahoo_api = "yahoo-api-kamu"; //ganti yahoo-api-kamu dengan yahoo api kamu
- function get_data ($url){
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_HEADER, false);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- $xml = curl_exec($ch);
- curl_close($ch);
- $data = simplexml_load_string($xml);
- return $data;
- }
- function ybl ($url){
- global $yahoo_api;
- $yurl = "http://api.search.yahoo.com/SiteExplorerService/V1/inlinkData?appid=$yahoo_api&query=".urlencode($url)."&results=1&entire_site=1";
- $xml = get_data($yurl);
- $att = $xml->attributes();
- return $att['totalResultsAvailable'];
- }
PHP Functions untuk Query Google PageRank
Sumber: PHP PageRank query script
Berikut functions-nya, sudah saya coba dan bekerja dengan sempurna.
Cara pakai:
$pr = getpr(”http://example.com/dir/anu/ini.html”);
echo $pr;
- <?php
- // 3/20/2008 - Updated by Roger Collins (http://www.rogercollins.com/)
- // to remove graphing step
- //PageRank Lookup v1.1 by HM2K (update: 31/01/07)
- //based on an alogoritham found here: http://pagerank.gamesaga.net/
- //settings - host and user agent
- $googlehost='toolbarqueries.google.com';
- $googleua='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5';
- //convert a string to a 32-bit integer
- function StrToNum($Str, $Check, $Magic) {
- $Int32Unit = 4294967296; // 2^32
- 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://www.php.net/manual/en/language.types.integer.php
- if ($Check >= $Int32Unit) {
- $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));
- //if the check less than -2^31
- $Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;
- }
- }
- return $Check;
- }
- //genearate a hash for a url
- 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);
- }
- //genearate a checksum for the hash string
- function CheckHash($Hashnum) {
- $CheckByte = 0;
- $Flag = 0;
- 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;
- }
- //return the pagerank checksum hash
- function getch($url) { return CheckHash(HashURL($url)); }
- //return the pagerank figure
- function getpr($url) {
- $pr = 0; // default return
- $ch = getch($url);
- if ($fp) {
- $out = "GET /search?client=navclient-auto&ch=$ch&features=Rank&q=info:$url HTTP/1.1\r\n";
- //echo "<pre>$out</pre>\n"; //debug only
- $out .= "User-Agent: $googleua\r\n";
- $out .= "Host: $googlehost\r\n";
- $out .= "Connection: Close\r\n\r\n";
- //$pagerank = substr(fgets($fp, 128), 4); //debug only
- //echo $pagerank; //debug only
- //echo $data;
- if($pos === false){} else{
- return $pr;
- }
- }
- //else { echo "$errstr ($errno)<br />\n"; } //debug only
- }
- return $pr;
- }
- ?>
Tips Optimasi Kode PHP
Barusan cek memory VPS memakai perintah top dari putty, menemukan kalau salah satu script php saya makan memory sampai 80% ~X( , padahal script ini cuma 1 file (2 file dengen file config), yang isinya adalah loop untuk menyedot content dari suatu source (source legal loh
). Karena itu langsung buka kode dan googling cari tips untuk optimasi kode php saya. Selidik-selidik ternyata membengkaknya penggunaan memory karena di dalam loop yang saya buat terdapat gumpalan array yang sangat besar, yang seharusnya di -unset(); setiap kali loop. Berikut saya rangkum tips-tips yang dikutip dari berbagai sumber.
Read more
Membuat Grafik Cantik dengan Google Chart dan PHP
Google Chart adalah fasilitas API atau web service dari Google Code yang berguna untuk menciptakan grafik gambar on the fly. Gambar yang dihasilkan sangat bagus, ada berbagai model grafik, dan yang paling penting adalah fasilitas ini disediakan gratis oleh Google. Saya membuat sebuah function PHP agar penerapannya lebih mudah untuk aplikasi dinamik.
Read more
Convert All Links to be Opened in New Window
This javascript codes will force all links at a page to be opened in new window when it’s clicked. It is a simple way to mass convert whole site links especially it has a lot of pages. You just need to put the snippet inside the head section (<head> … here … </head>) in your html template:
Read more