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

phpファイルをサーバーにアップすると、そのサーバー内のファイルのリンクが一覧で表示できるツールを作成しています。

表示サンプル:http://dowdow.jp/sitemap.php

URLの表示を、ページタイトルの表記に変えたいのですが、良い方法はないでしょうか。

現在のファイル:http://dowdow.jp/php.zip


●質問者: gondo
●カテゴリ:ウェブ制作
✍キーワード:PHP URL サーバー タイトル ファイル
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kn1967
●35ポイント

タイトルがあればタイトルを、無ければファイル名を表示というように変えればよろしいかと思います。

if ($fp) {
 fputs ($fp, "GET $suburl HTTP/1.0\r\n\r\n");
 while (!feof($fp)) {$buf=fgets ($fp,128);$all=$all.$buf;}
 fclose ($fp);
}
if(preg_match("/<title>(.*)<\/title>/i",$all,$match) == 1){
 $title = $match[1];
} else {
 $title = $suburl;
}
$link="<a href=\"$fullurl\" target=\"right\">$title</a><br>\n";

余談ですが、どうして自サバ内のファイル検索にソケット通信使っているのですか?

単純に

function getpage($path)
 $all=file($path);
 if(preg_match("/<title>(.*)<\/title>/i",$all,$match) == 1){
 $title = $match[1];
 } else {
 $title = $suburl;
 }
 $link="<a href=\"$fullurl\" target=\"right\">$title</a><br>\n";
}

でよろしいのではないかと思いますよ。

◎質問者からの返答

ありがとうございます。早速入れ替えてみました。しかし、やり方が悪いのか、サーバーが対応していないのか、

http://dowdow.jp/map.php

というような表示になってしまいます。

$fp = fsockopen ($hostname, 80, $errno, $errstr, 30);//ソケットを開く

if ($fp) {

fputs ($fp, "GET $suburl HTTP/1.0\r\n\r\n");

while (!feof($fp)) {$buf=fgets ($fp,128);$all=$all.$buf;}

fclose ($fp);

}

if(preg_match("/<title>


2 ● kn1967
●35ポイント

見逃してました。ホスト名が入ってませんのでサーバーが見つからないってエラーをphpが返しています。

fputs ($fp, "GET $suburl HTTP/1.0\r\n\r\n");
  ↓
fputs ($fp, "GET $suburl HTTP/1.0\r\nHost:$hostname\r\n\r\n");

サーバーの設定にもよりますがfile内にhttp://で始まるURLを書いても取得できる場合がありますのでgetpageを下記のものと入れ替えてもテストしてみてください。

function getpage($suburl)
 global $hostname;
 $fullurl="http://$hostname".$suburl;
 $all=file($fullurl);
 if(preg_match("/<title>(.*)<\/title>/i",$all,$match) == 1){
 $title = $match[1];
 } else {
 $title = $suburl;
 }
 $link="<a href=\"$fullurl\" target=\"right\">$title</a><br>\n";
}
◎質問者からの返答

なるほど!!

できました。

http://dowdow.jp/map.php

スタイルシートでデザインすれば、いろんなところで使えそうです。

本当にありがとうございます!!



その他いろいろ試してみます。

関連質問


●質問をもっと探す●



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