2009-07-07 10 views
3

私は関数に文字列を渡したいと思います。その文字列をURLに渡します。その後、そのURLに行き、私のJSにそれを操作することができるように私のサーバーにページを返します。外部サーバからページを取得する

いずれのアイデアも高く評価されます。

歓声。

+1

明確にしてください。あなたの10k読者には混乱します。 – Pacerier

答えて

0

fopen()をご利用いただけます。 URLを受け入れることができます。あなたのfopen_wrappersが有効になっている場合

echo "<script type='text/javascript' src='myjavascript.js'></script>"; 
$handle = @fopen("http://www.example.com/", "r"); 
if ($handle) { 
    while (!feof($handle)) { 
     $buffer = fgets($handle, 4096); 
     echo $buffer; 
    } 
    fclose($handle); 
} 
9

は、ページを取得するためにfile_get_contents()を使用して、出力として、それをエコーする前にコンテンツにJavaScriptを挿入することができます。

$content = file_get_contents('http://example.com/page.html'); 
if($content !== FALSE) { 
    // add your JS into $content 
    echo $content; 
} 

これはもちろん元のページには影響しません。

0

CURLの使用はおそらく最も簡単ですが、私は自分でやりたいと思っています。これは、指定されたアドレスに接続し、ページの内容を返します。しかし、ヘッダーも返されるので注意してください。

function do_request ($host, $path, $data, $request, $specialHeaders=null, $type="application/x-www-form-urlencoded", $protocol="", $port="80") 
{ 
     $contentlen = strlen($data); 
     $req = "$request $path HTTP/1.1\r\nHost: $host\r\nContent-Type: $type\r\nContent-Length: $contentlen\r\n"; 
     if (is_array($specialHeaders)) 
     { 
      foreach($specialHeaders as $header) 
      { 
       $req.=$header; 
      } 
     } 
     $req.="Connection: close\r\n\r\n"; 
     if ($data != null) { 
      $req.=$data; 
     } 
     $fp = fsockopen($protocol.$host, $port, $errno, $errstr); 
     if (!$fp) { 
      throw new Exception($errstr); 
     } 
     fputs($fp, $req); 
     $buf = ""; 
     if (!feof($fp)) { 
      $buf = @fgets($fp); 
     } 
     return $buf; 
} 
+0

ええ、おそらくfile_get_contents()も簡単でしょうが、これはfopen_wrappersが有効になっていないと機能します。 – Cameron

関連する問題