我需要获得大小超过2 GB的文件的文件大小.(在4.6 GB文件上测试).没有外部程序有没有办法做到这一点?
当前状态:
filesize(),stat()并fseek()失败fread()和feof()工作通过读取文件内容可以获得文件大小(非常慢!).
$size = (float) 0;
$chunksize = 1024 * 1024;
while (!feof($fp)) {
fread($fp, $chunksize);
$size += (float) $chunksize;
}
return $size;
Run Code Online (Sandbox Code Playgroud)
我知道如何在64位平台上使用它(使用fseek($fp, 0, SEEK_END)和ftell()),但我需要32位平台的解决方案.
解决方案:我已经为此启动了开源项目.
Big File Tools是在PHP中操作超过2 GB的文件所需的hacks集合(即使在32位系统上).
我需要在按键事件上获得本地化字符.例如:在捷克键盘上我需要得到不是5个字符(键码53)(参见捷克键盘布局).有没有其他方法来获得角色,不使用文本输入和阅读价值?换句话说,有什么方法可以从事件对象中获取关于当前用户键盘布局的字符?
(添加示例代码)
<html>
<body>
<script language="JavaScript">
function onLoad() {
console.log(document.getElementById("test"));
document.getElementById("test").onkeydown = function(event) {
console.log("Code: "+event.keyCode+"; Key: "+String.fromCharCode(event.keyCode));
}
}
</script>
<body onLoad="onLoad();">
<input id="test">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
(在线示例)
当您尝试此代码并按下ř-key时,您将在Firebug控制台中看到"代码:53;密钥:5".我需要得到"ř"而不是"5".
我认为这个"问题"出现在所有非英语键盘上.
javascript localization keypress javascript-events keyboard-layout