الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكنني قرائة كود صفحة Html على احد المواقع باستخدام Php

بدأه العيافـي في 27 ديسمبر 2008 · 6 رد · 1,142 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه

ارغب في قرائه كود صفحة HTML على احد المواقع باستخدام PHP فما هي الطريقة لذلك.

حاولت القرائة باستخدام الفنكشن file وتمت القرائه عندما كان الملف على سيرفري أما اذا كان الملف على سيرفر آخر فلا يمكنني ذلك.

وسلامتكم ...

#2

يوجد حل لطلبك هنا:

http://www.php.net/function.fopen

تحديداً هذا الكود الذي كتبه Adlez:

<?php
function open_page($url,$f=1,$c=2,$r=0,$a=0,$cf=0,$pd=""){
 global $oldheader;
 $url = str_replace("http://","",$url);
 if (preg_match("#/#","$url")){
  $page = $url;
  $url = @explode("/",$url);
  $url = $url[0];
  $page = str_replace($url,"",$page);
  if (!$page || $page == ""){
   $page = "/";
  }
  $ip = gethostbyname($url);
 }else{
  $ip = gethostbyname($url);
  $page = "/";
 }
 $open = fsockopen($ip, 80, $errno, $errstr, 60);
 if ($pd){
  $send = "POST $page HTTP/1.0\r\n";
 }else{
  $send = "GET $page HTTP/1.0\r\n";
 }
 $send .= "Host: $url\r\n";
 if ($r){
  $send .= "Referer: $r\r\n";
 }else{
  if ($_SERVER['HTTP_REFERER']){
   $send .= "Referer: {$_SERVER['HTTP_REFERER']}\r\n";
  }
 }
 if ($cf){
  if (@file_exists($cf)){
   $cookie = urldecode(@file_get_contents($cf));
   if ($cookie){
	$send .= "Cookie: $cookie\r\n";
	$add = @fopen($cf,'w');
	fwrite($add,"");
	fclose($add);
   }
  }
 }
 $send .= "Accept-Language: en-us, en;q=0.50\r\n";
 if ($a){
  $send .= "User-Agent: $a\r\n";
 }else{
  $send .= "User-Agent: {$_SERVER['HTTP_USER_AGENT']}\r\n";
 }
 if ($pd){
  $send .= "Content-Type: application/x-www-form-urlencoded\r\n"; 
  $send .= "Content-Length: " .strlen($pd) ."\r\n\r\n";
  $send .= $pd;
 }else{
  $send .= "Connection: Close\r\n\r\n";
 }
 fputs($open, $send);
 while (!feof($open)) {
  $return .= fgets($open, 4096);
 }
 fclose($open);
 $return = @explode("\r\n\r\n",$return,2);
 $header = $return[0];
 if ($cf){
  if (preg_match("/Set\-Cookie\: /i","$header")){
   $cookie = @explode("Set-Cookie: ",$header,2);
   $cookie = $cookie[1];
   $cookie = explode("\r",$cookie);
   $cookie = $cookie[0];
   $cookie = str_replace("path=/","",$cookie[0]);
   $add = @fopen($cf,'a');
   fwrite($add,$cookie,strlen($read));
   fclose($add);
  }
 }
 if ($oldheader){
  $header = "$oldheader<br /><br />\n$header";
 }
 $header = str_replace("\n","<br />",$header);
 if ($return[1]){
  $body = $return[1];
 }else{
  $body = "";
 }
 if ($c === 2){
  if ($body){
   $return = $body;
  }else{
   $return = $header;
  }
 }
 if ($c === 1){
  $return = $header;
 }
 if ($c === 3){
  $return = "$header$body";
 }
 if ($f){
  if (preg_match("/Location\:/","$header")){
   $url = @explode("Location: ",$header);
   $url = $url[1];
   $url = @explode("\r",$url);
   $url = $url[0];
   $oldheader = str_replace("\r\n\r\n","",$header);
   $l = "Location:";
   $oldheader = str_replace("Location:",$l,$oldheader);
   return open_page($url,$f,$c,$r,$a,$cf,$pd);
  }else{
   return $return;
  }
 }else{
  return $return;
 }
}
/////////////
////Usage////
/////////////
$url = "http://www.php.net";
$f = 1;
$c = 2;//1 for header, 2 for body, 3 for both
$r = NULL;
$a = NULL;
$cf = NULL;
$pd = NULL;
$page = open_page($url,$f,$c,$r,$a,$cf,$pd);
print $page;
?>

بالتوفيق.

لا اله الا الله محمد رسول الله

شبكة شباب IT

http://www.shababit.net

shababit.gif

#3

هذا ما حصل معي، لم اتمكن من قراءة الكود..

عذرا فانا جديد على PHP

Warning: fsockopen() [function.fsockopen]: unable to connect to www.alriyadh.com:80 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. ) in C:\wamp\www\readHtml\test4.php on line 62

Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\readHtml\test4.php on line 62

تم تعديل هذه المشاركة بواسطة العيافـي في 27 ديسمبر 2008 في 16:44

#4

المشكلة هنا ان النتيجة عن الموقع لم تحصل خلال الوقت المحدد 30 ثانية

بإمكانك زيادة الوقت بقدر ما تشاء.

لا اله الا الله محمد رسول الله

شبكة شباب IT

http://www.shababit.net

shababit.gif

#5

يعطيك العافيه تمت العمليه بنجاح :thumb_up:

#6

للاستفاده..

يمكنك زيادة الوقت كما تريد

@set_time_limit(900);

او عن طريق ملف الـ .httaccess

<IfModule mod_php4.c>
php_value max_execution_time  900
</IfModule>

بالتوفيق

أعتذر وبشده عن انقطاعي.. وذلك بسبب مشروعي الجديد

-------------------

100(سبحان الله وبحمده، سبحان الله العظيم) = 0 سيئة

-------------------

dssighg7.png

#7

معلش أنا شايف الكود طويل جدا جدا جدا ويمكن يكون معقد بالنسبه للمبتدئين

على كل في عندي كودين لهيك عمل

الأول :

  $handle = fopen("http://site.com", "rb");
  $Htmlcode = stream_get_contents($handle);
  fclose($handle);

الكود الثاني :

  $Htmlcode= file_get_contents("http://www.site.com");

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…