-1

PHPを使用して、iFrameで生成されたコンテンツを含むWebページを保存する必要があります。

iFrame(動的コンテンツを生成するURLを開く)を含む.PHPファイルがあります。

PHPファイルで生成されたコンテンツ(またはソース全体)をサーバーに保存したいと思います。

@file_get_contentsを試しましたが、iFrameにあるので同じ.phpファイルのURLを指定するにはどうすればよいですか?

また、HTTPヘッダー全体をPHPでファイルに出力するにはどうすればよいですか?

少しわかりにくいですが、ご容赦ください。

このコードを試しましたが、機能しません。

コード

<html>
<body>
<?php

function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}
$contents = @file_get_contents($pageURL);
$fp = fopen("file.txt", "a");
fputs($fp, "
$contents
");
fclose($fp);
?>
<iframe src="LINK TO WEBPAGE HERE" />
</body>
</html>

ありがとう

4

2 に答える 2

3

ほとんどの(適切に構成された)サーバーでは無効になっているため、最初にfile_get_contents()wh URL を使用しないでください。素晴らしいライブラリを使用できますcURL

http://php.net/manual/en/book.curl.php

<?php

$ch = curl_init("http://HREF of iframe here");
$fp = fopen("some filename name here", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);
?>

完全なページを提供されたファイルに保存します。

于 2013-03-03T18:34:01.240 に答える
1

javascript で iframe の URL をサーバーに送信する必要があります。

var url = document.getElementById("iframe_id").contentWindow.location.href;

次に、たとえばjqueryを使用してサーバーに送り返すことができます

$.get('mywebpage.php?url='+url);

最後に、この URL を file_get_contents($_GET['url']) サーバー側で使用します。

于 2013-03-03T17:58:01.137 に答える