本文整理匯總了PHP中HTTP_ConditionalGet::setContentLength方法的典型用法代碼示例。如果您正苦於以下問題:PHP HTTP_ConditionalGet::setContentLength方法的具體用法?PHP HTTP_ConditionalGet::setContentLength怎麽用?PHP HTTP_ConditionalGet::setContentLength使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類HTTP_ConditionalGet
的用法示例。
在下文中一共展示了HTTP_ConditionalGet::setContentLength方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: realpath
<?php
set_include_path(get_include_path() . PATH_SEPARATOR . realpath(dirname(__FILE__) . '/../../min/lib'));
require 'HTTP/ConditionalGet.php';
// generate content first (not ideal)
// emulate regularly updating document
$every = 20;
$lastModified = round(time() / $every) * $every - $every;
$title = 'Last-Modified is unknown : use hash of content for ETag';
$explain = '
<p>When Last-Modified is unknown, you can still use ETags, but you need a short
string that is unique for that content. In the worst case, you have to generate
all the content first, <em>then</em> instantiate HTTP_ConditionalGet, setting
the array key <code>contentHash</code> to the output of a hash function of the
content. Since we have the full content, we might as well also use
<code>setContentLength(strlen($content))</code> in the case where we need to
send it.</p>
<p>This script emulates a document that changes every ' . $every . ' seconds.
<br>This is version: ' . date('r', $lastModified) . '</p>
';
require '_include.php';
$content = get_content(array('title' => $title, 'explain' => $explain));
$cg = new HTTP_ConditionalGet(array('contentHash' => substr(md5($content), 7)));
if ($cg->cacheIsValid) {
$cg->sendHeaders();
// we're done
exit;
}
$cg->setContentLength(strlen($content));
$cg->sendHeaders();
send_slowly($content);