如果您知道文件函数filesize($file_path)
的大小它将具有大小CCD_ 2。
打开文件并输出textarea
中的内容。不做任何更改,保存它:
如果你打开文件
$save_file = fopen($file_path, 'w');
if ($save_file)
{
// Write new data to a file
$do_write = fwrite ($save_file, stripslashes ($_POST['file']));
if ($do_write)
{
$message = "Success";
}
else
{
$message = "Error";
}
}
else
{
$message = "Error";
}
再次查看文件大小函数filesize($file_path)
,它将具有大小B bytes
。其中A < B
。
问题:如果文件本身及其内容没有被更改,为什么我要得到文件的大小?
如果具有'w'
权限的文件已经有内容,则写入该文件将附加到该文件。还要记住,文件名的长度会影响文件使用的字节数。
例如,将file.ext
备份为file.ext.bak
将使file.ext.bak
长3个字节。
您可能在文件中添加空白,但并不知道。我会尝试用git跟踪更改,看看发生了什么变化。您也可以在shell中执行diff
。a在不检查文件大小的情况下检查文件是否已更改的一个好方法是对其进行哈希处理
$hash = hash_file('md5', '/internal/path/to/file.txt');
// Code to store hash code in database/file.
然后检查它是否发生了变化,做同样的事情,并将其与存储的哈希进行比较。这将比文件大小更可靠,因为文件上的元数据(名称、扩展名、权限)可能会更改文件大小并保持文件内容不变。