• ベストアンサー

PHPアクセスログ バッチ処理

はじめまして。 独学PHPを学んでいて、就活をしています。 そこである課題を出されました。 アクセスログ出力プログラムとアクセスログ集計プログラムです。 双方プログラムが出来上がり提出したのですが。 修正してくださいとのこと。 ・CTI 環境にてバッチで動くため、 $_SERVERなどのHTTPを前提とした 変数や関数は利用出来ないとのこと。 ・出力はEUC-JP で改行はCF (mb_convert_encoding で変換し、改行は/n) どちらもCSV に出力するプログラムです。 ご教授願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • foreach
  • ベストアンサー率51% (43/84)
回答No.3

たぶんCTIってのはコールセンターにあるような受電した際に電話番号をパラメータとして取得できる装置(またはシステム)の事でしょう。 受電すると電話番号をパラメータにしてシェルをキックする仕組みなのでは? PHPはシェル環境でも使えますが、$_SERVER["REQUEST_URI"];はhttpdから渡される環境変数なのでシェルではセットされません。 >引数を取得して処理をしろと言う事かもしれないので、 引数は$_SERVER["argv"]で取得できると思います。 ちなみにprint_r($_SERVER);とすると$_SERVERの中身が全部確認できます。

prr4e
質問者

お礼

回答有難う御座いました。 CLI(コマンドラインインターフェイス)と言う環境だったので、 コマンドで実行し、引数として$argv,$argcを取得して処理するように 変更したら上手くいきました。 先方の仕様通りであればいいのですが・・・ ありがとうございました。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>・CTI 環境にてバッチで動くため、 >$_SERVERなどのHTTPを前提とした >変数や関数は利用出来ないとのこと。 微妙に意味がわからないのですが、 $_SERVER["REQUEST_URI"]はNGだとして他の$_SERVERが利用可能なら $_SERVER["SCRIPT_NAME"]あたりではだめでしょうか? そもそもアクセスログとるのにアクセス実績が拾えないはずはないんですが・・・ (拾えないならアクセスログとる意味ないし・・・) よくよく先方に仕様を確認した方がよいでしょう

prr4e
質問者

お礼

回答有難う御座います。 先方に仕様を確認してみます。 CLIの実行と言う事で、引数を取得して 処理をしろと言う事かもしれないので、 一度確認してみます。 お手数おかけました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

具体的に何がききたいのでしょうか? mb_convert_encoding()の使い方? $str=mb_convert_encoding($str, "EUC-JP", "auto"); http://www.php.net/manual/ja/function.mb-convert-encoding.php

prr4e
質問者

補足

早速の回答誠に有難う御座います。 補足が足りなくてすみません。 mb_convert_encoding()の使い方もだったのですが、 もう1点 ・CTI 環境にてバッチで動くため、 $_SERVERなどのHTTPを前提とした 変数や関数は利用出来ないとのこと。 現在アクセスされたURLを取得するため $_SERVER["REQUEST_URI"];を使っています。 これが使えないとなるとどうやって取得したらいかわからない状況です。 すみませんが、宜しくお願い致します。

関連するQ&A

専門家に質問してみよう