2014-01-10 207 views
0

我想在頁面上使用它之前檢查文件是否存在。從我的理解這樣的事情應該工作,但沒有出現,所以我假設我沒有正確編碼它。檢查圖像是否存在

<?php 
    $url = get_bloginfo('template_directory'); 
    $page_id = get_queried_object_id();  

     if(file_exists($url . '/images/footerImage' . $page_id . '.png')) { ?> 
      <img class="footerImage" src="<?php echo get_bloginfo('template_directory'); ?>/images/footerImage<?php echo $page_id; ?>.png" /> 
     <?php } ?> 

我希望它能檢查文件是否存在,以及它是否創建圖像標記,如果不是什麼都不做。爲什麼這不顯示任何圖像?我知道我擁有這些圖像是因爲它在if語句之前工作,但在沒有圖像的頁面上創建了一個破碎的圖像。

+1

您是否檢查過'$ url'的值? –

+1

如果您使用的是文件系統引用而不是URL, –

+1

file_exists在服務器上查找文件而不是URL,這會更有效率(可能更少出錯)。有一些例子用於查找file_exists文檔頁面上是否存在url http://au2.php.net/file_exists –

回答

1

get_bloginfo('template_directory')函數返回絕對URL。但您需要提供相對路徑以檢查文件是否存在file_exists()

if(file_exists(TEMPLATEPATH . '/images/footerImage' . $page_id . '.png')) { ?> 
     <img class="footerImage" src="<?php echo get_bloginfo('template_directory'); ?>/images/footerImage<?php echo $page_id; ?>.png" /> 
<?php } ?> 
+1

'get_bloginfo('template_directory')'返回像'http://domain.com/upload/ .... png',但'file_exists()'函數需要'/ var/www/html/yourproject/upload/images ... png' –

+0

我已經更新了我的答案,請檢查 –

+0

我看到你更新了它後,我問了一些代碼。謝謝,我現在明白了,現在我總是對這些情況感到困惑。謝謝! – Fogolicious