PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : راهنمایی برای تکمیل Alexa Rank Checker



afsoongar
March 16th, 2012, 19:15
با سلام

دوستان اگر وقت دارید کمک بکنید تا این اسکریپت رو کامل این اسکریپت بدون هیچ مشکلی کار میکنه و رتبه Alexa سایت ها رو نشون میده . ولی مشکلی که داره اینکه فقط یک سایت رو برسی میکنه اگر دوستان راهنمایی بکن تا تغییراتی بدیم که بشه همزمان چندین سایت رو برسی کرد

الان تو این اسکرپت برای تغییر سایت باید از داخل اسکریپت کد سایت رو عوض کرد . در حالی که کاربر نمیتونه سایت رو تغییر بده.

مقدار رو از $url = فر اخوانی میکنه

نمونه خروجی :

Alexa URL = webhostingtalk.ir/
Alexa Links = 281
Alexa Rank = 20335
کد :

<?php
$url = 'webhostingtalk.ir';
//ini query untuk mendapatkan data xml dari alexa
$kueritujuan = 'http://xml.alexa.com/data?cli=10&dat=nsa&ver=quirk-searchstatus&uid=19700101000000&userip=127.0.0.1&url='.urlencode($url);
$batasan = curl_init();
//Jika script ini tidak berfungsi, anda boleh mencoba useragent dibawah ini. Selama ini tanpa user agent bisa berjalan dengan baik.
//$user_agent = 'Mozilla/5.0';
curl_setopt ($batasan, CURLOPT_URL, $kueritujuan);
//fungsi dibawah ini harus diaktifkan jika Anda ingin menggunakan user agent
//curl_setopt ($batasan, CURLOPT_USERAGENT, $user_agent);
curl_setopt ($batasan, CURLOPT_HEADER, 0);
curl_setopt ($batasan, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($batasan, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($batasan, CURLOPT_TIMEOUT, 120);
$alexaXml = curl_exec($batasan);
curl_close($batasan);

$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, false);
xml_set_element_handler($xml_parser,'awalelemen',' ahirelemen');
xml_parse($xml_parser,$alexaXml);
xml_parser_free($xml_parser);

function awalelemen($xmlParser,$nama,$fagelacom){
if($nama=='CAT'){
if(isset($fagelacom['ID'])){
echo 'DMOZ Cat = '.$fagelacom['ID'].'<br />';
};
}elseif($nama=='LINKSIN'){
if(isset($fagelacom['NUM'])){
echo 'Alexa Links = '.$fagelacom['NUM'].'<br />';
};

}elseif($nama=='ALEXA'){
if(isset($fagelacom['URL'])){
echo 'Alexa URL = '.$fagelacom['URL'].'<br />';
};

}elseif($nama=='POPULARITY'){
if(isset($fagelacom['TEXT'])){
echo 'Alexa Rank = '.$fagelacom['TEXT'].'<br />';
};
};
}
function ahirelemen($xmlParser,$nama){
}
?>

باتشکر

afsoongar
March 18th, 2012, 16:25
دوستان اگر امکانش هست کمک بکنید

bepad
March 18th, 2012, 16:35
دوست من سادست!
شما یه صفحه بساز که ادرس رو بهش بدی بریزنه تو متغیر $url و نمایش بده به همین راحتی

fara_server
March 18th, 2012, 16:50
درمورد سوال اولتون و پردازش به صورت همزمان و parallel به : Easy Parallel Processing in PHP | PHP Everywhere (http://phplens.com/phpeverywhere/?q=node/view/254) مراجعه کنید.
همینطور درمورد خوندن آدرس دلخواه همونطور که دوستمون فرمودند، میتونید توسط چند خط کد ساده html مقادیر رو به صفحه ارسال کنید تا اونها رو به عنوان آدرس در نظر بگیره ...

مثلا:


<html>
<head>
<title>Add Your Address!</title>
</head>
<body>
<form method="POST" action="your_php_alexa_checker.php">
enter yor address:<input type="text" name="addr" />
</br>
<input type="submit" value="go!" />
</form>
</body>
<html>

متغییر $url رو برابر با $_POST['addr'] قرار بدید. موفق باشید