Windowsとphp 5.3で問題が...

特に理由はないけどWindowsで使っていたphpを5.3にしてみたら問題が...。
ほとんどの問題は非推奨になった関数の使用が問題だったので、それは簡単に修正できたけど、解決できなかった問題が...。
Windows XPで...

<?php
echo filemtime('表.txt');

というスクリプトを書いて、php 5.3.0と5.2.11で実行すると... (カレントディレクトリに '表.txt' は存在する)

C:\>c:\php-5.3.0\php.exe test.php
PHP Warning:  filemtime(): stat failed for 表.txt in W:\web\test.php on line 2

C:\>c:\php-5.2.11\php.exe test.php
1255683350

こんな感じで 5.3.0 だと 0x5c の文字が入ってるファイルを読み書きできなくて微妙に困り中。
file_get_contents() などもエラーになるので読めなかったり。

追記

5.3.0って書いてしまったけど、今確認しみると4種類ありますな...

VC6とVC9、Thread SafeとNon Thread Safeの違いで4種類。すべて試してみると...

C:\test>php-5.3.0-nts-Win32-VC6-x86\php test.php
1255683350
C:\test>php-5.3.0-nts-Win32-VC9-x86\php test.php
1255683350
C:\test>php-5.3.0-Win32-VC9-x86\php test.php
PHP Warning:  filemtime(): stat failed for 表.txt in C:\test\test.php on line 2

C:\test>php-5.3.0-Win32-VC6-x86\php test.php
Warning: filemtime(): stat failed for 表.txt in C:\test\test.php on line 2

Non Thread Safeだと動くみたい...。

追記 2009-10-22

fopen() や is_writable() はダメみたい。
ファイルが書き込み可能かどうかを確かめる方法がないなー...。
filemtime() は stat() を呼び出してるみたいなので stat() も動きますな。