
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ランキング
-
VBAで、強制保存してブックを閉...
-
webページの特定の部分だけ消し...
-
エクセルでファイルの最終更新...
-
マイドキュメントのフォルダの...
-
TXTファイルを上書き保存する前...
-
Mailの署名、ルールが戻りません
-
ISOファイルが削除できません。
-
複数のjpegファイルを、一度にp...
-
共有しているファイルを削除し...
-
copyコマンドについて
-
win10 ファイルを自由に移動配...
-
ペイントを削除してしまいまし...
-
グラフの色を数値で変わるように!
-
BurnでDVDが焼けません。
-
写真の管理ができない覚えたい
-
XPパスワード紛失時の救済手段
-
HTML5からAndroid APKを作成する
-
USB内のフォルダが「ファイル」...
-
PC間のファイルコピーが遅い
-
bootex.logファイルについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで、強制保存してブックを閉...
-
Excel VBAでほかのアプリケーシ...
-
Excel VBAで作成したマクロをxl...
-
エクセルでファイルの最終更新...
-
読み取り専用ファイルを上書き...
-
Pivot table で集計されたデー...
-
エクセルで「名前を付けて保存...
-
VBAでPDF作成をしたあと、指定...
-
VB.NETでEXCELファイルを開き、...
-
VBA メモ帳の上書き保存がしたい
-
別名で保存し、元の名前で中身...
-
意味不明のタグが挿入されてい...
-
【VC++】CDC→WMFファイルに保存...
-
至急教えてください!プログラ...
-
VBSでHPを保存するにはど...
-
リスト構造
-
プログラムについて
-
ファイルのアップロード
-
エクセル:マクロ:保存時に連...
-
度々すみません。(動画縦横変...
おすすめ情報