我有一个日志方法,它保存到一个与调用它的脚本同名的文件中,只有第一个字母大写,有时有效,但其他时候第二个字母大写(我看不到任何关于何时它做了什么,但它始终是一致的,这意味着文件 A 将始终是初始封顶或第二个字母封顶,这不是任意的)。
这是我的代码...
function logData($str){
$filePath = $_SERVER["SCRIPT_FILENAME"];
$dir = substr($filePath, 0, strrpos($filePath, "/") + 1);
$fileName = substr($filePath,strrpos($filePath, "/")+1);
$fileName = preg_replace('/\w+$/','log',$fileName);
$fileName = ucfirst($fileName);
$fHandle = fopen( $dir.$fileName , "a");
$contents = fwrite($fHandle, $str ."\n");
fclose($fHandle);
}
有人对某些时候可能导致这种奇怪行为的原因有任何想法吗?
我知道我可以在第一个字符上使用 strtoupper 强制它,然后附加字符串的其余部分,但我真的很想了解我在这里做错了什么(如果有的话)。