从屏幕抓取工具中免除pdf,doc和xls

时间:2011-12-11 00:59:25

标签: php

我正在使用以下代码和wordpress提供的开放服务来抓取一些网页的截图缩略图

<img alt="<?php the_title(); ?>" src="http://s.wordpress.com/mshots/v1/<?php echo urlencode( get_post_meta(get_the_ID(), 'mjwlink-url', true )); ?>?w=300">

问题是某些链接转到PDF,DOC或XLS文件,在这些情况下我想显示一个替代图像。

我完全不知道如何以这种方式使用网址+鉴于我正在使用的事实urlencode我不确定它是否可行 - 任何提示/建议/代码表示赞赏。

示例输出: http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.reform.co.uk%2Fportals%2F0%2Fdocuments%2Fitcanbedonesingle.pdf?w=300

http://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.outoftrouble.org.uk%2F?w=300

2 个答案:

答案 0 :(得分:0)

要做的就是检查文件类型,即使只是检查点后面的内容。

你可以在你的陈述之前检查这个:

$types = array('.pdf', '.doc', '.xls');
if(0 < count(array_intersect(array_map('strtolower', $filename, $types)))) {
  //go get the image
} else {
  //do whatever else you want to
}

其中$types可以包含您要以不同方式处理的任何类型,显然$filename是文件的名称。

取自here,但在您的情况下略有修改。

答案 1 :(得分:0)

$types = array('pdf', 'doc', 'xls');
$path_parts = pathinfo($filename);
if(!in_array($path_parts['extension'], $types)) {
  //go get the image
} else {
  //do whatever else you want to
}