見出し画像

POTI-boardのエラーを減らすために 1のログの書式の見直し

作業内容

1のログの書式の見直しました。

続きを描くで番号を1にするとWarningがでる

POTI-board改のエラーを根絶できた…と思っていたのですが…。

画像1

続きから描く時に番号を1にするとWarningが出ました。

file_exists()の落とし穴

if(file_exists(IMG_DIR.$ctim.$cext)){//画像が無い時は処理しない
$dat['picfile'] = IMG_DIR.$ctim.$cext;
$size = getimagesize($dat['picfile']);
	中略
}

file_exists()で、画像が無い時は処理しないようにした筈…。

var_dump(IMG_DIR.$ctim.$cext); //string(4) "src/"

あるのはディレクトリだけのようです…。

var_dump(file_exists(IMG_DIR.$ctim.$cext)); //bool(true)

画像が無い時はfalseの筈…。

file_exists - ファイルまたはディレクトリが存在するかどうか調べる

src/というディレクトリが存在しているかどうか調べていた…ようです。

パターンを変えてみると…。

画像2

string(17) "src/1547552231446" bool(false)

falseになりました。
src/1547552231446というファイルは存在しないので…。

1のログの書式に問題がある

自動生成される1のログにタイムスタンプが入っていないので、ディレクトリがあるかどうかのチェックになり、ディレクトリがあるので画像がなくてもtrueになって処理続行。ディレクトリは画像ではないのでWarningがでる…。

設置時にできる[1]を編集すると、その後の書き込みでWarningが発生するので修正しました。
//文字列を整数に
$ltime = (int)$ltime;

(int)をつければエラーはでなくなるかもしれませんが、こちらも1のログにタイムスタンプが入っていない事が原因で発生していたWarningなので、この作業の時に1のログの書式を修正していれば良かったのですが…。

time = time();
$tim = $time.substr(microtime(),2,3);
$testmes="1,".$now.",".DEF_NAME.",,".DEF_SUB.",".DEF_COM.",,,,,,,".$tim.",,,\n";

他のログ番号と同じ形式のタイムスタンプが1のログに入るように書き換えました。

(int)で整数にしなくても、Warningが発生しない事を確認しました。
続きから描くの番号を1にしてもWarningが発生しない事を確認しました。

この変更は、POTI-board改 v1.51.1 lot.190203に反映されました。

お絵かき掲示板交流サイトはこちら。

この記事が気に入ったらサポートをしてみませんか?