php在保存时增加文件的大小(如果文件没有更改)



如果您知道文件函数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.

然后检查它是否发生了变化,做同样的事情,并将其与存储的哈希进行比较。这将比文件大小更可靠,因为文件上的元数据(名称、扩展名、权限)可能会更改文件大小并保持文件内容不变。

相关内容

  • 没有找到相关文章

最新更新