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


use a return value from a function to assign to a string

我在函数(remote_filesize())中使用PHP regex和fopen来获取文件的大小,远程(fopen, pre_match, implode)。结果,或文件大小,使用回调函数:remote_filsize($filename),其中$filename是使用索引$row['alerts']从MySQL PDO查询获得的URL。警报是程序窗口打开并运行上述函数时检查的实际文件大小。

我如何使用返回函数值来比较下一个索引行从我的表作为比较值…如果从行[警报]的值大于行[状态]->旧值,我手动保存到数据库从上次我检查记录页。最后,我想使用小于的结果来突出显示我的"记录页"中的字段,根据大小的变化有绿色或红色的背景(class="danger or success")。

这是我使用的,但是当新文件大小的值大于旧文件大小的值时,它总是返回"绿色"成功。事实上,我的表数据字段的类始终是绿色背景,无论值比较状态。

<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 
------------------------

上面的结果表会告诉我'status'的背景应该是红色的,因为它的大小大于'alert'值的整数。我检查的只是文件是否被改变了(大小改变了)。

老实说,这是深夜应该喝点咖啡的情况之一。我通过简单地检查两个值是否相同来解决这个问题。如果值相同,则if( remote_filesize($filename) == $newfilesize )将结果默认为绿色,表示成功。这是一个更全面的解决方案,因为文件大小可以小于保存值,并且仍然构成文件"更改",无论更改是大还是小。