nomiso0125
nomis****@gmail*****
2008年 1月 23日 (水) 09:39:12 JST
nomiso です。 > $_SERVER['PATH_INFO'] = '/cron/cleancache'; > > のように PATH_INFO をハードコードして実行するコントローラを指定 > するところがミソですね。 なるほど。。 Validation を使用する場合、検証時は、$_POSTからリクエストパラメータを見ているので、$this->validation->run() する前に、 $_POST["xxx"] = 値; とすれば使えそうです。 08/01/17 に Kenji<kenji****@club*****> さんは書きました: > Kenji です。 > > > On Thu, 17 Jan 2008 18:18:36 +0900 > "Kenichi Ando" <neo.k****@gmail*****> wrote: > > > bossatamaです。 > > > > 08/01/17 に nomiso0125<nomis****@gmail*****> さんは書きました: > > > nomisoです。はじめまして。 > > > > ・毎朝6時に、あるディレクトリのCSVファイルを読み込み、ファイルの中身を検証したい。 > > > > > > > > > cli版のPHPであれば、以下のように、crontab で phpファイルを直接実行すれば良いと思いますが、 > > > ----------------------------------------------------------- > > > * * 6 * * * php /hoge/csv_validator.php > > > ----------------------------------------------------------- > > > > はい。そうですね。よくある手法だと思います。 > > > > ・検証ロジックはCIのValidationクラスを使いたい。 > > > > > > > > > です。 > > > > > > # CSVの中身を Validation に渡す方法はとりあえず無視するとして・・ > > > > > > そもそも、この時点でWebアプリケーションではないので、CIを使うという事は、 > > > 選択肢からはずすべきなのかもしれません。 > > > > CIはURIセグメントベースのWebアプリケーションなんで、 > > 基本的には、URIからのアクションではないでしょうか。 > > そうですね。 > > ただ、 > > $ php index.php > > とすれば、Welcomeページが出力されますので、デフォルト > コントローラを実行させることは可能かと思います。 > > と思って、Wiki を調べたら、ありました。 > http://codeigniter.com/wiki/Category:Advanced::CronScript/ > > index.php をコピーして、cron用の index.php (Wiki の例では、clean_cache.php) > を作成し、 > > $_SERVER['PATH_INFO'] = '/cron/cleancache'; > > のように PATH_INFO をハードコードして実行するコントローラを指定 > するところがミソですね。 > > 別段、ハードコードしなくても、引数から取得するようにすれば、 > 汎用的に使えますね。 > > あとは、外部公開用の CI と同じ場所にコントローラを設置するなら > そのコントローラを外部から起動されないように対策する。 > > if($_SERVER['SCRIPT_FILENAME'] != 'clean_cache.php') > exit; > > > // Kenji > > _______________________________________________ > Codeigniter-users mailing list > Codei****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users >