如何检查PHP中的文本文件是否为空?
我已经尝试过在互联网上找到的内容:
if( '' != filesize('data.txt')){
echo "The file is empty";
}
也是这样:
if( 0 != filesize('data.txt')){
echo "The file is empty";
}
他们似乎没有工作。
答案 0 :(得分:8)
首先使用它:
if (filesize('data.txt') == 0){
echo "The file is DEFINITELY empty";
}
如果仍有疑问(取决于空对你意味着什么),也可以尝试:
if (trim(file_get_contents('data.txt')) == false) {
echo "The file is empty too";
}
记下Niels Keurentjes,因为http://php.net/manual/en/function.empty.php说:
在PHP 5.5之前,empty()仅支持变量;别的什么都会 导致解析错误。换句话说,以下内容不起作用: 空(修剪($名))。相反,使用trim($ name)== false。
答案 1 :(得分:4)
应该是这样。你检查文件大小是否为0.你的代码询问文件大小是否为0,然后它是空的。
if ( 0 == filesize( $file_path ) )
{
// file is empty
}
答案 2 :(得分:4)
首先,平等是==
运算符 - 您现在正在进行反向检查。但即便如此,空虚也不是绝对的,你可能会遇到假空文本文件,它实际上有换行符或UTF-8 BOM(字节顺序标记)。
if(filesize($path) < 16 && empty(trim(file_get_contents($path))) )
die('This works by definition.');
答案 3 :(得分:0)
if (file_get_contents($file_path) != "") {
echo 'file is not empty';
} else {
echo 'file is empty';
}
答案 4 :(得分:0)
The filesize() function returns the size of the specified file.
This function returns the file size in bytes on success or FALSE on failure.
实施例
<?php
echo filesize("test.txt");
?>
答案 5 :(得分:0)
我将file_get_contents用于小xml文件。以下代码适用于我,在此处归功于Lex,并附有说明:file_get_contents with empty file not working PHP
if(file_get_contents($file) !== false) {
echo 'your file is empty';
} else {
echo 'file is not empty';
}
答案 6 :(得分:0)
如果文件为空,filesize
将返回0
,我们可以将其用作boolean
,例如:
$txtFile = "someFile.txt";
if( filesize( $txtFile ) )
{
// EMPTY FILE
}
答案 7 :(得分:0)
以下是一些选项,它们基于Niels Keurentjes提供的答案,以按大小范围检查内容。有了这些建议,如果满足文件大小,其内容将“包含”在页面上。 http://php.net/manual/en/function.include.php
两者都检查文件是否存在,然后根据大小(以字节为单位)对其进行评估。如果文件大小大于或等于5个字节,则打印成功消息并包含文件内容。如果找不到文件或小于5个字节(实际为空),则会显示错误消息并且不包含该文件。出错时,会影响clearstatcache以防止文件结果保留在页面刷新上。 (我已尝试使用/不使用clearstatcache,它确实有帮助。) http://php.net/manual/en/function.clearstatcache.php
可以输入文件本身:
As a string throughout: 'file.txt'
As a variable: $file = 'file.txt';
As a constant (per examples): define ('FILE', 'file.txt');
选项#1:功能
<?php
define ('FILE', 'file.txt');
function includeFile() {
if (file_exists(FILE))
{
echo 'File exists!' . '<br>';
if (filesize(FILE) >= 5)
{
echo 'File has content!' . '<br>';
include FILE;
} else {
echo 'File is empty.';
clearstatcache();
}
}
else {
echo 'File not found.';
clearstatcache();}
}
includeFile(); // call the function
?>
选项#2:If / Else Statement
<?php
define ('NEW_FILE', 'newfile.txt');
if (file_exists(NEW_FILE) && (filesize(NEW_FILE)) >= 5){
echo 'File exists and has content!' . '<br>';
include NEW_FILE;
}
else {
echo 'File not found or is empty.';
clearstatcache();
}
?>
验证可以删除:
echo 'File exists!' . '<br>';
echo 'File has content!' . '<br>';
echo 'File is empty.';
echo 'File not found.';
echo 'File exists and has content!' . '<br>';
echo 'File not found or is empty.';