PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

gopher_parsedir - gopher フォーマットのディレクトリエントリを連想配列に変換する | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

gopher_parsedir

(PECL net_gopher >= 0.1)

gopher_parsedirgopher フォーマットのディレクトリエントリを連想配列に変換する

説明

array gopher_parsedir ( string $dirent )

gopher_parsedir() は、gopher フォーマットされたディレクトリエントリを連想配列に変換します。

gopher は、リクエストに対して text/plain 形式の ドキュメントを返します。ディレクトリ(例えば / など)へのリクエストには 特別にエンコードされた一連の行を返し、その個々の行が 1 つのディレクトリ エントリあるいは情報行を表します。

パラメータ

dirent

ディレクトリエントリ。

返り値

以下の要素からなる連想配列を返します。

  • type - GOPHER_XXX 定数のいずれか。
  • title - リソースの名前。
  • path - リソースのパス。
  • host - このドキュメント (あるいはディレクトリ) を保持するホストのドメイン名。
  • port - host に接続するポート。

失敗した場合には、さらに data というエントリがこの配列に追加され、そこにパースした行が含まれます。

例1 gopher://gopher.example.com/ からの出力を以下のように仮定する

0All about my gopher site.               /allabout.txt               gopher.example.com    70
9A picture of my cat.                    /pics/cat.png               gopher.example.com    70
1A collection of my writings.            /stories                    gopher.example.com    70
hThe HTTP version of this site.          URL:http://www.example.com  gopher.example.com    70
1Mirror of this site in Spain.           /                           gopher.ejemplo.co.es  70
iWelcome to my gopher site.                                          error.host            1
iPlease select one of the options above                              error.host            1
iSend complaints to /dev/null                                        error.host            1
iLong live gopher!                                                   error.host            1

上の例で、gopher.example.com のルートディレクトリには ID 0ドキュメントgopher://gopher.example.com:70/allabout.txt にあります。 また、2 つのディレクトリ(それぞれ独自のファイル一覧を保持します)が gopher://gopher.exmaple.com:70/stories および gopher://gopher.ejemplo.co.es:70/ にあります。 その他にバイナリファイル・HTTP URL へのリンク・そして情報の行があります。

ディレクトリ一覧の各行を gopher_parsedir() に渡すと、 そのデータを連想配列形式にフォーマットします。

例2 gopher_parsedir() の使用例

<?php
$directory 
file("gopher://gopher.example.com");

foreach(
$directory as $dirent) {
    
print_r(gopher_parsedir($dirent));
}
?>

上の例の出力は以下となります。

Array (
  [type] => 0
  [title] => All about my gopher site.
  [path] => /allabout.txt
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 9
  [title] => A picture of my cat.
  [path] => /pics/cat.png
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 1
  [title] => A collection of my writings.
  [path] => /stories
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 254
  [title] => The HTTP version of this site.
  [path] => URL:http://www.example.com
  [host] => gopher.example.com
  [port] => 70
)
Array (
  [type] => 1
  [title] => Mirror of this site in Spain.
  [path] => /
  [host] => gopher.ejemplo.co.es
  [port] => 70
)
Array (
  [type] => 255
  [title] => Welcome to my gopher site.
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Please select one of the options above.
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Send complaints to /dev/null
  [path] =>
  [host] => error.host
  [port] => 1
)
Array (
  [type] => 255
  [title] => Long live gopher!
  [path] =>
  [host] => error.host
  [port] => 1
)


忘却曲線を使ってこの関数を確実に記憶に残す

フォーラムで「gopher_parsedir - gopher フォーマットのディレクトリエントリを連想配列に変換する」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | gopher_parsedir - gopher フォーマットのディレクトリエントリを連想配列に変換する」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: