我使用PHP和正則表達式中的fopen函數(remote_filesize())來獲取文件的大小,遠程(FOPEN,pre_match,破滅)。結果,或文件大小,使用函數回調附和道:remote_filsize($filename)
其中$ filename是使用$行[「警報」]指數MySQL的PDO查詢得到的URL。警報是當程序窗口打開並運行上述功能時檢查的實際文件大小。使用返回值從函數分配給一個字符串
如何使用返回函數值來比較表中下一個索引行作爲比較值...如果行[alerts]的值大於row [status] - >舊值從最後一次檢查記錄頁面手動保存到數據庫。最終,我想用小於的結果突出顯示我的「記錄頁面」中的字段,以便根據尺寸變化有綠色背景或紅色背景(class =「危險或成功」)。
這是我用什麼,但它總是返回「綠色」的成功時,新的文件大小的值大於舊文件大小的值。實際上,我的表格數據字段的類始終是綠色背景,無論值的狀態如何。
<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'值integer。我正在檢查的是如果文件已被更改(大小已更改)。
而不是使用的fopen和正則表達式,你應該使用捲曲,做一個HEAD請求發送到遠程文件,看看該信息從'curl_getinfo'得到(它包含例如大小)。而不是這樣做兩次,你應該只做一次,並將其保存到一個變量中,並使用該變量進行比較。如果if語句沒有按預期執行,var_dump這兩個變量並查看它們包含的內容。 –