我知道那些與輸出緩衝方法:ob_get_length()方法的用途是什麼?
<?php
ob_start();
// some code
ob_end_flush();
ob_end_clean();
,但我想不出爲什麼將我需要的輸出緩衝區的長度。這裏有一個關於測量用戶帶寬的SOF問題,雖然這個計算需要測量未被解決的圖片和其他文件。
我沒有檢查PHP手冊和「爲什麼」不存在。
我知道那些與輸出緩衝方法:ob_get_length()方法的用途是什麼?
<?php
ob_start();
// some code
ob_end_flush();
ob_end_clean();
,但我想不出爲什麼將我需要的輸出緩衝區的長度。這裏有一個關於測量用戶帶寬的SOF問題,雖然這個計算需要測量未被解決的圖片和其他文件。
我沒有檢查PHP手冊和「爲什麼」不存在。
回答「爲什麼要使用它」。爲了回答這個問題,我們必須首先明白爲什麼我們需要使用ob_start
。 通常它被用於兩個目的:
echo
例如,在header
之前,後者將不起作用)echo
或print
寫入,通常他們outputing只有很小的數據,所以你要發送的數據的一小部分返回到瀏覽器,這是影響性能。)可以開始猜測,爲什麼我們需要使用ob_get_length()
。例如:我想發送我的輸出大塊,所以我啓用輸出緩衝,並在ob_get_length
的幫助下,我可以控制多少數據我可以寫入緩衝區,然後再發送它。
ob_get_length
將返回的輸出緩衝區中的內容的長度..
下面是簡單的例子..
<?php
ob_start();
echo "Hello ";
$len1 = ob_get_length();
echo "World";
$len2 = ob_get_length();
ob_end_clean();
echo $len1 . ", ." . $len2;
?>
上面的示例將輸出:6, 11
更新: 如果你想發送一個自定義的HTTP Content-Length頭部,ob_get_length()會很有幫助 - 儘管這隻適用於高級用戶!
問題是:爲什麼我需要這個信息? – docesam
如果你想發送一個自定義的HTTP Content-Length頭,ob_get_length()會很有幫助 - 儘管這隻適用於高級用戶! –
偉大的答案謝謝 – docesam