windowsで0x5C問題でアクセス不可能なファイルのサイズを取得する方法。


function filesize_ex( $path ) {
$size=@filesize($path);
if($size!==FALSE) return $size;
$str = <<<TEXT
@SET FNAME="$path"
@CALL :sizeoutput %FNAME%
@GOTO :EOF
:sizeoutput
@ECHO %~z1
@EXIT /B
TEXT;
file_put_contents("tmp.bat",$str);
$output=exec("tmp.bat");
unlink("tmp.bat");
return intval($output);
}