这个函数虽然看起来好像没多大用处,不过在有些时候还是能用的上的。正在建立自己函数库的可以收藏一下。
提示:这个函数不是我原创的,原创的地址在这里http://hi.baidu.com/luanxian/item/06ab9d24be2b4e1409750879,我稍微添加了两行判断错误的代码。
下面给出代码:<?php <br />
/**<br>
* 获取PDF文件页数的函数获取<br>
* 文件应当对当前用户可读(linux下)<br>
* @param [string] $path [文件路径]<br>
* @return [array] [数组第一位表示成功与否,第二位表示提示信息]<br>
*/<br>
function getPdfPages($path){<br>
if(!file_exists($path)) return array(false,"文件\"{$path}\"不存在!");<br>
if(!is_readable($path)) return array(false,"文件\"{$path}\"不可读!");<br>
// 打开文件<br>
$fp=@fopen($path,"r");<br>
if (!$fp) {<br>
return array(false,"打开文件\"{$path}\"失败");<br>
}else {<br>
$max=0;<br>
while(!feof($fp)) {<br>
$line = fgets($fp,255);<br>
if (preg_match('/\/Count [0-9]+/', $line, $matches)){<br>
preg_match('/[0-9]+/',$matches[0], $matches2);<br>
if ($max
}<br>
}<br>
fclose($fp);<br>
// 返回页数<br>
return array(true,$max);<br>
}<br>
}<br>
/**<br>
* 测试代码<br>
*/<br>
$results=getPdfPages("demo.pdf");<br>
if($results[0]){<br>
// 在这里放置成功读取后的处理代码<br>
}else{<br>
// 在这里放置失败的处理代码<br>
}<br>
?>
性能方面,在我的ubuntu机器上读取1个600页左右的文件大概耗时1秒,应该是不会有太大问题。
AD:真正免费,域名+虚机+企业邮箱=0元