
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を探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで、強制保存してブックを閉...
-
VBScriptで日本語が変です
-
コマンドプロンプトでデスクト...
-
VBScriptでのSaveAsについて
-
エクセルでファイルの最終更新...
-
Excel VBAでほかのアプリケーシ...
-
c言語について
-
エクセルで「名前を付けて保存...
-
共有しているファイルを削除し...
-
vlan internal allocation poli...
-
WindowsからSSHでサーバーにあ...
-
入力/出力エラーですというファ...
-
1つのフォルダには何個までのフ...
-
マイドキュメントのフォルダの...
-
沢山のフォルダにあるファイル...
-
誤ってZIPファイルを上書きして...
-
USB内のフォルダが「ファイル」...
-
DVD Decrypterで書き込むときに...
-
ファイルのプロパティの属性の...
-
Linuxである拡張子のファイルだ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで、強制保存してブックを閉...
-
Excel VBAでほかのアプリケーシ...
-
Excel VBAで作成したマクロをxl...
-
エクセルでファイルの最終更新...
-
読み取り専用ファイルを上書き...
-
Pivot table で集計されたデー...
-
エクセルで「名前を付けて保存...
-
VBAでPDF作成をしたあと、指定...
-
VB.NETでEXCELファイルを開き、...
-
VBA メモ帳の上書き保存がしたい
-
別名で保存し、元の名前で中身...
-
【VC++】CDC→WMFファイルに保存...
-
意味不明のタグが挿入されてい...
-
至急教えてください!プログラ...
-
VBSでHPを保存するにはど...
-
リスト構造
-
プログラムについて
-
ファイルのアップロード
-
エクセル:マクロ:保存時に連...
-
度々すみません。(動画縦横変...
おすすめ情報