
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で質問しましょう!
似たような質問が見つかりました
- HTML・CSS htmlのデータをwebページみたいに見る方法 5 2023/06/23 17:47
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- iPhone(アイフォーン) スマホでページを保存する 3 2022/09/10 08:43
- デスクトップパソコン スマホからメール添付でパソコンへ送った画像が開かない 4 2023/06/06 17:19
- システム 古いWEBシステム。もう追加プログラムは作れない? それともできる? 6 2022/06/08 13:41
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- PDF EXCEL ページを指定してPDF出力するVBAを教えてください。 2 2023/02/09 10:27
- フリーソフト ファイル保存できるデジタルノートアプリ 3 2022/05/03 09:11
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルのアップロード
-
タイトルバーやメニューバーの...
-
エクセルで「名前を付けて保存...
-
ファイル投稿プログラム
-
sarコマンドについて
-
Pivot table で集計されたデー...
-
Excel VBAでほかのアプリケーシ...
-
エクセルで、csvのファイルにマ...
-
VBAで、強制保存してブックを閉...
-
VBScriptで日本語が変です
-
MATLABでのデータ保存(for文等...
-
VBAでPDF作成をしたあと、指定...
-
IEのダウンロードファイル保存...
-
エクセルでファイルの最終更新...
-
別名で保存し、元の名前で中身...
-
vlan internal allocation poli...
-
セマフォについて
-
Solarisに30文字以上のファイル...
-
YAHAMA RTXシリーズのコマンド...
-
Edgeでダウンロード状況表示画...
マンスリーランキングこのカテゴリの人気マンスリー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...
おすすめ情報