勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

PHPでeval時のエラー

      2014/07/02

eval()'d code on line みたいなエラーが出てた。

よそのシステムでPHP形式の配列を書いて、それを
file_get_contentsで持ってきてevalで実行してたんだけど
どうも中で構文エラーが発生しているっぽい。

よそのシステム内では毎回データが変わるので、
エラーが発生する場合としない場合があり。

何とかして発生時だけfile_get_contentsの中身を
エラーログに吐き出したいと悩んだ結果、
よく考えるとwarningエラーなのでプログラムは
とまらんから普通に書いたらよかった。

$file = file_get_contents("./aaa.html");
eval($file); //$fileの中では$aaaという配列を定義してたとする

if (!$aaa) { //evalでエラーが発生していた場合、$aaaは定義されないのでfalseになる
  //エラー処理
}

 

※try~catchではうまいこといなかったので注意

 - PHP, エラー管理

  関連記事

PHPで日時比較時の注意

PHPで日時を比較する際にミスがあったのでメモ。 基本形は下記。 $limit_ ...

MySQLのエラーメール送付

MySQLエラーを取得してエラーメール送付。 <? error_repor ...

PHPでエラー時はメッセージを残す

セキュリティ対策か何かを施しており、 if (~~~~) { exit(); } ...

CRUDのfunction化(管理画面)

<? /* よく使うような管理画面(CRUD?)をfunctionで分けて ...

PHPとSQLiteでi-mobileのデータをグラフ化

i-mobileでクリック保証のアフィリエイトだけど数値が並んでいるだけでグラフ ...

MySQLで加算しつつNULL値は0にする

いくつかのコードに対して投票を行い、 その合計値をスコアとして出したい。 ただ、 ...

PHPで簡単にCSVファイルの生成

簡単にデータ並べるだけのCSVファイル生成。 file_put_contensで ...

GoogleアナリティクスのデータをPHPで取得する方法

Googleアナリティクスの特定データをPHPで取得して、表示なりCSV化してほ ...

PHPで携帯(スマホ含)とPCの判別

PHPにて携帯(スマホ含む)とPCで処理を振り分けたかったのでメモ。 <? ...

PHPのログイン認証をPEAR::Authで実装する

PHPのシステムである程度ちゃんとしたログインシステムが必要になった。今までログ ...