无法让PHP file_exists工作

时间:2012-05-11 05:03:39

标签: php wordpress file-exists

如果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的链接。我无法让条件工作。

有人能说出它为什么不起作用吗?

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

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