本文整理汇总了PHP中Reader::strlen方法的典型用法代码示例。如果您正苦于以下问题:PHP Reader::strlen方法的具体用法?PHP Reader::strlen怎么用?PHP Reader::strlen使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Reader
的用法示例。
在下文中一共展示了Reader::strlen方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: export_to_file_handle
public function export_to_file_handle($fh)
{
$entries = array_filter($this->entries, array($this, 'is_entry_good_for_export'));
ksort($entries);
$magic = 0x950412de;
$revision = 0;
$total = count($entries) + 1;
// all the headers are one entry
$originals_lenghts_addr = 28;
$translations_lenghts_addr = $originals_lenghts_addr + 8 * $total;
$size_of_hash = 0;
$hash_addr = $translations_lenghts_addr + 8 * $total;
$current_addr = $hash_addr;
fwrite($fh, pack('V*', $magic, $revision, $total, $originals_lenghts_addr, $translations_lenghts_addr, $size_of_hash, $hash_addr));
fseek($fh, $originals_lenghts_addr);
// headers' msgid is an empty string
fwrite($fh, pack('VV', 0, $current_addr));
$current_addr++;
$originals_table = chr(0);
$reader = new Reader();
foreach ($entries as $entry) {
$originals_table .= $this->export_original($entry) . chr(0);
$length = $reader->strlen($this->export_original($entry));
fwrite($fh, pack('VV', $length, $current_addr));
$current_addr += $length + 1;
// account for the NULL byte after
}
$exported_headers = $this->export_headers();
fwrite($fh, pack('VV', $reader->strlen($exported_headers), $current_addr));
$current_addr += strlen($exported_headers) + 1;
$translations_table = $exported_headers . chr(0);
foreach ($entries as $entry) {
$translations_table .= $this->export_translations($entry) . chr(0);
$length = $reader->strlen($this->export_translations($entry));
fwrite($fh, pack('VV', $length, $current_addr));
$current_addr += $length + 1;
}
fwrite($fh, $originals_table);
fwrite($fh, $translations_table);
return true;
}