人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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


●質問者: takanii
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● ぽけっとしすてむ
●168ポイント
<?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]; */

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


takaniiさんのコメント
動きませんでした。

ぽけっとしすてむさんのコメント
回答内容を編集しました。 なお、file_put_contentsにてサーバ上で保存します。

2 ● asatoryu
●166ポイント

このプログラムを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";
?>

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

3 ● asatoryu
●166ポイント ベストアンサー

このプログラムを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 '保存完了';
?>
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ