• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چرا نميشه از يه سايت راه دور خواند؟
#1
سلام
من از كد زير براي خواندن سايت ياهو -براي يك تست ساده- استفاده كردم اما در شرط اول موند! يعني اصلا نخوند چرا؟
کد:
<?php
$all="";
$file=fopen("http://www.yahoo.com","r");
if(!$file){
  echo"NO!<hr />";
  exit;
}
echo"<pre>";
while(!feof($file)){
  $line=fgets($file,1024);
  $all.=$line;
  echo $line;
}
fclose($file);
echo"</pre>";
echo"<hr />";
$op=fopen("save.html","w");
if(!$op){
  die("NO (2)!<hr />");
}
fwrite($op,$all);
fclose($op);
echo"<a href=\"save.html\" target=\"_blank\">this</a>";
?>
در كد بالا ابتدا سايت رو خونده و محتوياتش رو نشون ميده بعد يه فايل html هم از اون ميسازه! اما وقتي اون رو امتحان كردم در همون شرط اولي موند! يعني خطاي اولي رو داد: NO!
چرا؟Angry
  پاسخ
تشکر شده توسط :
#2
کد پی‌اچ‌پی:
<?php

$fp1 
fopen("http://yahoo.com""rb");
$fp2 fopen("save.html""wb");

while(!
feof($fp1)) {
$contents fgets($fp14096);
fwrite($fp2$contents);
}
fclose($fp1);
fclose($fp2);

?>
  پاسخ
تشکر شده توسط : mehdimalek
#3
allow_url_fopen

آیا اجازه این کار رو دارید ؟
  پاسخ
تشکر شده توسط : mehdimalek
#4
(۱۳۸۸ دى ۱۱, ۱۰:۳۱ ب.ظ)hidensfot نوشته: allow_url_fopen

آیا اجازه این کار رو دارید ؟
وا ... خدامرگم بده!!!Wink
allow_url_fopen ديگه چه صيغه ايه!
جناب hidensfot يه كم بيا تو حد سيكل و پايينتر بگو اينكه نوشتي چيه و يه مثال كوچولو بزن ببينم چطور كار ميكنه .. خوب چيكار كنم بيسواتم ديگهBig Grin
-----------
جدا از شوخي راهنمايي بفرماييد كه اين تابع چطور كار ميكنه و اگه براي سايت من فعال نبود چطور فعالش كنم؟
با تشكر صميمانه
(۱۳۸۸ دى ۱۱, ۱۰:۳۱ ب.ظ)HiddeN نوشته:
کد پی‌اچ‌پی:
<?php

$fp1 
fopen("http://yahoo.com""rb");
$fp2 fopen("save.html""wb");

while(!
feof($fp1)) {
$contents fgets($fp14096);
fwrite($fp2$contents);
}
fclose($fp1);
fclose($fp2);

?>
ببخشيد كه اول به شما پاسخ ندادم!
العان مي خوام اين كدي كه نوشته ايد را آزمايش كنم ببينم نتيجه چيه.
ولي باز از جوابتون ممنونم
نه نشد!Angry
جناب HiddeN از كد شما استفاده كردم اما نشد كه نشد!
فكر كنم همون كه hidensfot گفت درسته و بايد اونو فعالش كنم --- البته اگه شد!
----------------
باز هم مرسي از جواباتون
  پاسخ
تشکر شده توسط :
#5
این تنظیم باید داخل
php.ini فعال‌ باشه
اگر از هاست شیر استفاده می کنین احتمالا این فعال نیست
  پاسخ
تشکر شده توسط :
#6
دوست عزیز کدی رو که قرار دادم امتحان کردم و به خوبی کار میکنه برای من - شما از چه سیستم عاملی استفاده میکنید ؟
و این کار رو دارید روی هاست به صورت ریموت انجام میدید یا این که روی سیستم خودتون به صورت لوکال ؟
  پاسخ
تشکر شده توسط :
#7
اگر روی allow_url_fopen کلیک کنید در منوال پی اچ پی می تونی بخونی که این مربوط به تنظیمات php.ini هست ، همونطور که وحید اشاره کرد . اگر شما به هر نحوی می خوای با fopen فایل خارجی رو باز کنی باید این گذینه TRUE باشه وگر نه جز با خودکشی نمی تونی چیزی رو حل کنی البته اگر حل بشه Big Grin

یادمه خیلی وقت پیش توی ایران پی اچ پی دات نت خودم هم همین سوال رو پرسیدم اما یادمه هر کاری کردم نشد ، یه چیزی توی یاهو بود که نمی گذاشت. برای تست سعی کن سایت معمولی یا سایت خودتون امتحان کنی
  پاسخ
تشکر شده توسط :
#8
HiddeN‌ ‌کیه‌؟ این hidensfot کیه؟ من کیم ؟ تو کی هستی؟ اینجا کجاست؟Big GrinBig Grin
  پاسخ
تشکر شده توسط :
#9
بله شما درست ميگيد! در يه هاست رايگانم و allow_url_fopen رو كه ديدم off بود و با ini_set هم هر كاري كردم نشد كه نشد و بعد فهميدم كه يانو بايد مدير هاست برام on كنه والا نميشه!
مثلا من تمام دستورات زير رو امتحان كردم اما نشد و در نهايت به مدير هاست ايميل دادم و العان منتظر جوابم!
کد:
ini_set('allow_url_fopen','On');
ini_set('allow_url_fopen','1');
ini_set('allow_url_fopen',1);
ini_set('allow_url_fopen','on');
ممنون از جوابهاي شما
جواب مدير هاست رسيد و ايشون فرمودند كه براي هاستهاي رايگان فعال سازي allow_url_fopen ممكن نيست!
من از هاست رايگان gigfa.com استفاده مي كنم! دوستان هاستي رو سراغ دارن كه بهتر باشه و اذيت نكنه؟
-------------------
باز هم ممنون
  پاسخ
تشکر شده توسط :
#10
اگر می خوای سریعتر و معقول تر باشه از CURL یا fsockopen استفاده کنی بهتره
php.net/curl
php.net/fsockopen
  پاسخ
تشکر شده توسط : Alimokhlesi HiddeN mehdimalek hidensoft


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان