0

如果 PDF 存在,我正在尝试获取链接到同名 PDF 的缩略图,但如果 PDF 不存在,则不链接到任何内容。这是我的代码:

<?php 
if ( function_exists('has_post_thumbnail') && has_post_thumbnail() ) {
$full_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full') ;
$pdf = substr_replace($full_image_url , 'pdf', strrpos($full_image_url[0] , '.') +1);

$filename = $pdf[0];
if (file_exists($filename)) {
echo '<a href="' . $pdf[0] . '" title="' . the_title_attribute('echo=0') . '" . target="_blank" >';
the_post_thumbnail('Full Size');
echo '</a>';
  }
else {
echo "The file $filename exists";
  }
 }
?>

目前, else 语句只是为了证明它是否找到了文件。它似乎是,因为它显示The file http://localhost/AWAD/wp-content/uploads/2012/03/+D.pdf exists。如果我去掉条件,帖子缩略图会显示一个指向 PDF 的链接。我只是无法获得工作的条件。

谁能发现它为什么不起作用?

4

2 回答 2

4

您应该将您的 FS 上的路径传递给file_exists,您现在正在传递一个 URL

于 2012-05-11T05:07:16.820 回答
1

我很确定file_exists想要一个完整的文件路径,而不是 URL。因此,您可能希望使用 WordPresswp_uploads_dir函数来获取上传目录的基本路径,然后将路径的其余部分附加到该路径的末尾,然后将该字符串传递给file_exists. 希望这是有道理的。

于 2012-05-11T05:11:43.057 回答