
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
>あまり意味が分かりませんが
わけわからん、コメントしてすみません。
1)サーバーで動作させてサーバーに保存する
2)サーバーで動作させてクライアントに保存する
3)サーバーではなく、ローカルで動作させて、ローカルに保存する
っていうパターンを考えていました。
2以外はできると思うという意味でした。
>A.phpにアクセスしたときにまったく別の外部のWEBページ「B.html」を、「A」サーバの中に保存したいのです。
#3の方がちゃんと説明されてますね。
No.3
- 回答日時:
要するに、あなたのサーバー上にそのニュースサイトのキャッシュを作成したい、という解釈でよろしいでしょうか?
HTMLファイル単独で保存したいのであれば比較的簡単にできますが、画像やFlashなどを込みでとなると少々面倒ですし、ましてやMHTファイル形式でとなるとかなり面倒です。(MHTの仕組みが分かれば不可能ではないですが)
HTMLだけであれば、以下のようにすれば出来ると思います。
(ただしphp.iniのallow_url_fopenが有効であることが前提)
$read_fp=@fopen($url,"r");
$write_fp=@fopen($file_path,"w");
while($line=@fgets($read_fp,1024)){
fputs($write_fp,$line);
}
fclose($read_fp);
fclose($write_fp);
画像などのファイルも込みで保存したいとなると、HTMLファイルをパースして<img>タグなどを解析する必要が生じて少々処理が面倒になりますので、wgetにでも処理を丸投げした方が手っ取り早いと思います。
(もっとも、これもsafe_modeが無効であることに加え、変数のサニタイズをしっかりやらないといけませんが)
exec("/path/to/wget -r -L -l 1 -p ".$save_path." ".$url);
なお、余計なお節介かも知れませんが、キャッシュしたページを他人に再公開する場合は、著作権上の配慮にご注意下さい。
No.2
- 回答日時:
PHPでは、URIもファイルの様に扱えるので、
以下のように読込(サンプルでは、printしてますけどファイルに書き出しできるので、名前をつけて保存できることになる)して保存することができます。
ローカルに保存というのが、サーバー上でスクリプトを動かすのでなくて、
ローカルでコンソール起動するという意味だったらローカルに保存できます。
<?php
$file="http://www.sample.ne.jp/index.html";
$fp=@fopen($file,"r");
while($line=fgets($fp)){
print "$line";
}
fclose($fp);
?>
この回答への補足
>ローカルに保存というのが、サーバー上でスクリプトを動かすのでなくて、
>ローカルでコンソール起動するという意味だったらローカルに保存できます。
すみません。あまり意味が分かりませんが、とりあえずやってみます。
No.1
- 回答日時:
できません
PHPはwebに特化した言語です
そのようにパソコンで自由自在につかえるよな言語ではありません
PHPはサーバー内だけで完結してしまい
結果としてHTMLなどのブラウザが認識できるものを出力させるだけにすぎません
ですから、PHPを使ったサイトのページを保存させてもPHPソースはどこにも書かれていません、出力されるのは単なるHTMLなどです
この回答への補足
>PHPはサーバー内だけで完結してしまい
すみません、説明不足でした。
例えば下記のような方法だったらどうでしょうか。
これだとサーバ内で完結していると思うのですが…。
---------------------------------------------------------------------------------------------
「A」というサーバ内にA.phpというファイルを置きます。
で、A.phpにアクセスしたときにまったく別の外部のWEBページ「B.html」を、「A」サーバの中に保存したいのです。
ここでいう「B.html」は、ユーザーが指定するWEBページを、保存したものになります。
現時点ではニュースサイトの記事ページを対象に保存しようと考えているので、B.htmlはそれになります。
---------------------------------------------------------------------------------------------
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでほかのアプリケーシ...
-
Pivot table で集計されたデー...
-
VBAで、強制保存してブックを閉...
-
Excel VBAで作成したマクロをxl...
-
VBAでPDF作成をしたあと、指定...
-
ファイルのダウンロード保存先...
-
エクセル:マクロ:保存時に連...
-
VBScriptでのSaveAsについて
-
AccessVBAでレポートをPDFで出力
-
エクセルでファイルの最終更新...
-
「名前をつけてファイルを保存...
-
JAVASCRIPTでEXCEL操作
-
Word2000の差込印刷を繰り返し...
-
vlan internal allocation poli...
-
共有しているファイルを削除し...
-
WindowsからSSHでサーバーにあ...
-
USB内のフォルダが「ファイル」...
-
大事なファイルが入ったゴミ箱...
-
復元したWordファイルが全て文...
-
メールデータ復元したい・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでファイルの最終更新...
-
Excel VBAでほかのアプリケーシ...
-
Excel VBAで作成したマクロをxl...
-
VBAで、強制保存してブックを閉...
-
読み取り専用ファイルを上書き...
-
AccessVBAでレポートをPDFで出力
-
Pivot table で集計されたデー...
-
EclipseでJavaScriptファイルの...
-
エクセルで「名前を付けて保存...
-
VBAでPDF作成をしたあと、指定...
-
VBScriptで日本語が変です
-
【Excel VBA】自動的にバックア...
-
VBScriptでのSaveAsについて
-
webページの特定の部分だけ消し...
-
タイトルバーやメニューバーの...
-
ASPでファイルを保存するダイア...
-
vbaでIEの名前を付けて保存(A)...
-
ExcelVBAでデスクトップのPATH...
-
エクセル:マクロ:保存時に連...
-
Corel Digital Studioの動画をS...
おすすめ情報