PDA

View Full Version : سوال: وجود یا عدم وجود یک فایل بر روی سایت دیگر



milad.bm
پنج شنبه 11 آذر 1389, 12:08 عصر
سلام
من دارم رو یه فایل XML که برای گرفتن اخبار کار میکنم.
اما مشکلی که هست اینه که سایتی که من خبر هارو ازش میگیرم گاه گاهی بالا نمیاد.
میخواستم بدونم چطور میشه فهمید اون سایت کار میکنه یا نه؟
http://example.com/news.xml
مثلا بفهمم لینک بالا کار میکنه یا نه ؟

funpatogh
پنج شنبه 11 آذر 1389, 19:59 عصر
<?php

function Check($url)

{

$agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";$ch=curl_init();

curl_setopt ($ch, CURLOPT_URL,$url );

curl_setopt($ch, CURLOPT_USERAGENT, $agent);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch,CURLOPT_VERBOSE,false);

curl_setopt($ch, CURLOPT_TIMEOUT, 5);

$page=curl_exec($ch);

//echo curl_error($ch);

$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);

if($httpcode>=200 && $httpcode<300) return true;

else return false;

}

if(Check("http://www.funpatogh.com.com"))

echo "Website OK"."n";

else

echo "Website DOWN";
?>

binboy
جمعه 12 آذر 1389, 00:00 صبح
سلام
از این کد می شود برای چک کردن وجود لینک سایت خودمان در سایت دیگر بصورت ولید فرم استفاده کرد؟(جهت تبادل لینک یا همان Reciprocal Link Checker)

funpatogh
جمعه 12 آذر 1389, 00:09 صبح
اگه منظورت اینه که بشه تشخیص داد که لینک سایت شما توی صفحه سایت مورد نظر هست یا خیر
بله میشود با کمی تغییر
اما با file_get_contents راحت تری
حتی میشه کاریش کرد که حتما یک عبارت که شما تعیین کردی توی سایتش چک کرد

binboy
جمعه 12 آذر 1389, 01:13 صبح
دستت درد نکنه داداش :قلب:
آره دقیقا منظورم همینه، می خوام این کار انجام بشه ولی خودم:لبخندساده: و با کمک دوستای خوبی مثل شما اگر بتونید سر نخی یا توضیحی بدی تا من برم دنبال موضوعش و روش کار کنم ممنون میشم. کد نمی خوام می خوام خودم کار کنم ببینم چند مرده حلاجم اگر دیدم نتونستم می گم بیشتر راهنمایی کنی. فقط توضیحی بده که منه مبتدی بفهمم باید چیکار کنم.
عزیزی:بوس:

binboy
جمعه 12 آذر 1389, 11:24 صبح
بزارید اینطوری مطرح کنم:
به چه شکل می توان با استفاده file_get_contents مطلب خاص و از قبل مشخص شده (که در اینجا لینک سایت است) را از لینک مشخص شده که کاربر می دهد دریافت کرد؟
با تشکر
(فوری جواب بدید ممنون می شم)

امیـرحسین
جمعه 12 آذر 1389, 21:50 عصر
باید توجه داشت که برخی CMSها کنترل آدرسهای خطا رو بدست میگیرند و از صفحه 404 شخصی استفاده میکنند. اگر این CMSها موقع انتقال کاربر به صفحه 404 شخصی، هدر 404 رو ارسال نکنند، نمیشه متوجه بروز خطا شد!
راهش اینه که اسکریپت معرفی شده رو با این موضوع آزمایش کنیم یعنی حالتی که آدرس وجود نداره سایت، صفحه 404 صادر میکنه ولی اسکریپت پیغام خطا نمیده. این یعنی این سایت (بطور استثنا) هدر ارسال نمیکنه و باید باهاش جور دیگه‌ای برخورد بشه.
البته این موضوع خیلی غیرحرفه‌ای هست یعنی همه CMSها و سایتهای حرفه‌ای، هدر صحیح رو ارسال میکنند.

milad.bm
شنبه 13 آذر 1389, 23:51 عصر
<?php

function Check($url)

{

$agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";$ch=curl_init();

curl_setopt ($ch, CURLOPT_URL,$url );

curl_setopt($ch, CURLOPT_USERAGENT, $agent);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch,CURLOPT_VERBOSE,false);

curl_setopt($ch, CURLOPT_TIMEOUT, 5);

$page=curl_exec($ch);

//echo curl_error($ch);

$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);

if($httpcode>=200 && $httpcode<300) return true;

else return false;

}

if(Check("http://www.funpatogh.com.com"))

echo "Website OK"."n";

else

echo "Website DOWN";
?>


با تشکر از پاسخ.
اما من هرچی چک میکنم میگه Website DOWN

shahriyar3
یک شنبه 14 آذر 1389, 00:23 صبح
فکر کنم بخاطر اینه

if(Check("http://www.funpatogh.com.com"))

milad.bm
یک شنبه 14 آذر 1389, 12:16 عصر
فکر کنم بخاطر اینه

if(Check("http://www.funpatogh.com.com"))

شهریار جان این قسمت یک مثال هستش
شما هرچی بذارید بازم false بر میگردونه

mtchabok
یک شنبه 14 آذر 1389, 12:33 عصر
سلام
میلاد راست می گه . این تابع هر آدرسی رو false بر می گردونه . دلیلش چیه ؟

funpatogh
یک شنبه 14 آذر 1389, 20:50 عصر
من هم با دامین خودم و هم یک دامین الکی که وجود ندارد تست کردم و مشکلی نیست
این هم آدرسی که گزاشتم برای تست شما
http://www.funpatogh.com/12.php?url=http://www.funpatogh.com (http://www.funpatogh.com/12.php?url=http://www.funpatogh.com.com)
http://www.funpatogh.com/12.php?url=http://www.funpatogh.iran
که لینک اول معتبر و دومی جعلی می باشد
شما از وجود curl توی php خودتان مطمئن هستید؟فعالش کردید؟

milad.bm
دوشنبه 15 آذر 1389, 08:46 صبح
من هم با دامین خودم و هم یک دامین الکی که وجود ندارد تست کردم و مشکلی نیست
این هم آدرسی که گزاشتم برای تست شما
http://www.funpatogh.com/12.php?url=http://www.funpatogh.com (http://www.funpatogh.com/12.php?url=http://www.funpatogh.com.com)
http://www.funpatogh.com/12.php?url=http://www.funpatogh.iran
که لینک اول معتبر و دومی جعلی می باشد
شما از وجود curl توی php خودتان مطمئن هستید؟فعالش کردید؟

آره CURL فعال هست.
البه احساس میکنم مشکل از WAMP باشه
در کل دستت درد نکنه