使用函数的返回值来赋值给字符串

时间:2016-09-19 03:56:07

标签: php

我在一个函数(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;值整数。我正在检查的是文件是否已被更改(大小已更改)。

1 个答案:

答案 0 :(得分:0)

老实说,这是一个深夜应该喝咖啡的情况之一。我通过简单地检查两个值是否相同来解决这个问题。 if( remote_filesize($filename) == $newfilesize )如果值相同,则结果默认为绿色表示成功。这是一个更具包容性的解决方案,看到文件大小可能小于保存的值,并且仍然构成文件已经改变了#34;无论变化是大于还是小。