如何解决PHP fread() 其他长度参数而不是文件大小
我试图让 PHP 读取一个文件到最后,它工作得很好,除非文件为空。然后它抛出一个错误说:
Uncaught ValueError: fread(): Argument #2 ($length) must be greater than 0`
`strlen()`does not work in this case.
是否有一些关于长度的论据,例如“阅读那里的所有内容,如果它为空,则忽略它”?这是PHP:
$data_file_read = fopen("data.txt","r");
$alldata = fread($data_file_read,filesize("data.txt"));
fclose($data_file_read);
解决方法
将文件的长度放入一个变量中并检查它的长度
$filename = "data.txt";
//
// Check file exists first
//
if (file_exists($filename) === true) {
//
// Get file length and check if it is > 0
//
$dataLength = filesize($filename);
if ($dataLength > 0) {
//
// Finally read the data
//
$data_file_read = fopen($filename,"r");
$alldata = fread($data_file_read,$dataLength);
fclose($data_file_read);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。