我在一个函数(remote_filesize())中使用PHP正则表达式和fopen来远程获取文件的大小(fopen,pre_match,implode)。结果或文件大小使用函数回调进行回显:remote_filsize($filename)
其中$ filename是使用$ row [' alerts']索引从MySQL PDO查询获得的URL。警报是在程序窗口打开并运行上述功能时检查的实际文件大小。
如何使用返回函数值将我表中的下一个索引行作为比较值进行比较...如果行[alerts]中的值大于row [status] - > gt;旧值I从我上次检查记录页面时手动保存到数据库。最终,我想使用少于的结果来突出显示我的"记录页面中的字段"当然,要有绿色背景或红色背景(等级="危险或成功"),具体取决于尺寸变化。
这是我用过的东西,但它总是返回"绿色"当新文件大小的值大于旧文件大小的值时成功。事实上,无论值状态如何比较,我的表数据字段的类始终是绿色背景。
<td class="overflow">
<?//php
/**
* gets files size to compare then compares size
* of saved value @status to current callback value @alerts
*/
if( !empty($row['alerts'])) {
$filename = $row['alerts'];
$oldfilesize = $row['status'];
if( remote_filesize($filename) > $oldfilesize ) { $highlite = "danger"; } else { $highlite = "success"; }
echo "<a href='' title='$filename'>url</a>";
echo remote_filesize($filename);
}
//?></td>
<td class="<?php echo escape( $highlite ); ?>"><?php echo escape($row['status']); ?></td>
id alert status
------------------------
1 | 55000 | 55010
------------------------
上面的结果表会告诉我&#39;状态的背景&#39;应该是红色的,因为它的大小大于警告&#39;值整数。我正在检查的是文件是否已被更改(大小已更改)。
答案 0 :(得分:0)
老实说,这是一个深夜应该喝咖啡的情况之一。我通过简单地检查两个值是否相同来解决这个问题。 if( remote_filesize($filename) == $newfilesize )
如果值相同,则结果默认为绿色表示成功。这是一个更具包容性的解决方案,看到文件大小可能小于保存的值,并且仍然构成文件已经改变了#34;无论变化是大于还是小。