PHPプログラムの質問です

basic認証がかかっているサイトにログインし、ログイン先のページの<h3> </h3> で囲まれた範囲のソースコートをa.txtに保存するスクリプトを教えて下さい

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/04/04 03:48:13
  • 終了:2013/04/10 07:31:35

ベストアンサー

id:asatoryu No.3

asatoryu回答回数66ベストアンサー獲得回数142013/04/09 20:06:57

ポイント166pt

このプログラムをutf-8で保存して実行してください。
サーバーのphpファイルがあるフォルダに書き込み権限を与えてください。

<?php
mb_internal_encoding("utf-8");

$id = "ユーザー名";
$pass = "パスワード";
$domain = "ドメイン名";
$filename = "a.txt";

$url = "http://" . $id . ":" . $pass . "@" . $domain;
$str = file_get_contents($url);
$str = mb_convert_encoding($str, "utf-8", "auto");
preg_match("/<h3>(.+)<\/h3>/ismu", $str, $arr);
file_put_contents($filename, $arr[1]);
echo '保存完了';
?>

その他の回答(2件)

id:psne No.1

ぽけっとしすてむ回答回数441ベストアンサー獲得回数2362013/04/04 08:26:46

ポイント168pt
<?php

$User = "username";
$Pwd = "password";
$Url = "example.com/";

$html = file_get_contents("http://" . $User . ":" . $Pwd . "@" . $Url);
preg_match("|<h3>(.*)</h3>|is",$html,$Out);
file_put_contents("a.txt", $Out[1]. "\n");
/* echo $Out[1]; */

質問文通りに組みました。

id:takanii

動きませんでした。

2013/04/09 12:32:45
id:psne

回答内容を編集しました。
なお、file_put_contentsにてサーバ上で保存します。

2013/04/09 18:41:41
id:asatoryu No.2

asatoryu回答回数66ベストアンサー獲得回数142013/04/04 20:05:10

ポイント166pt

このプログラムをutf-8で保存して実行してください。

<?php
mb_internal_encoding("utf-8");

$id = "ユーザー名";
$pass = "パスワード";
$domain = "ドメイン名";
$filename = "a.txt";

$url = "http://" . $id . ":" . $pass . "@" . $domain;
$str = file_get_contents($url);
$str = mb_convert_encoding($str, "utf-8", "auto");
preg_match("/<h3>(.+)<\/h3>/ismu", $str, $arr);
header("Content-Disposition: attachment; filename=" . $filename);
echo $arr[1] . "\n";
?>
id:takanii

動きました。
こちらのプログラムを書いたphpファイルをサーバーにアップロードし
ブラウザでphpファイルを実行しますとa.txtがダウンロードされてしまいます。
サーバーのphpファイルがあるフォルダの中に保存したい場合はどうすればいいのでしょうか?

2013/04/09 12:33:49
id:asatoryu No.3

asatoryu回答回数66ベストアンサー獲得回数142013/04/09 20:06:57ここでベストアンサー

ポイント166pt

このプログラムをutf-8で保存して実行してください。
サーバーのphpファイルがあるフォルダに書き込み権限を与えてください。

<?php
mb_internal_encoding("utf-8");

$id = "ユーザー名";
$pass = "パスワード";
$domain = "ドメイン名";
$filename = "a.txt";

$url = "http://" . $id . ":" . $pass . "@" . $domain;
$str = file_get_contents($url);
$str = mb_convert_encoding($str, "utf-8", "auto");
preg_match("/<h3>(.+)<\/h3>/ismu", $str, $arr);
file_put_contents($filename, $arr[1]);
echo '保存完了';
?>

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません