2013-01-09 59 views
0

我已經閱讀了一些在這裏回答的問題,這是安靜的與我的問題有關,但我仍然無法弄清楚我的代碼有什麼問題。它不會檢查文件是否已經存在,它只會返回默認圖像,即使我的uploads文件夾中有一個現有文件。這是我第一次使用file_exists()我不太熟悉這段代碼。PHP file_exists()不起作用

這裏是我的代碼:

<?php $filename = 'uploads/';?> 
<?php if(file_exists($filename)) {?> 
<img src='<?php echo base_url();?>uploads/' width='180' height='200' id="images"name='images' /> 

<?php } else { ?> 

<img src='<?php echo base_url();?>assets/images/no_image.jpg' width='180' height='200' id="images" name='images' /> 
<?php } ?> 

感謝您的幫助..

+1

那麼,'上傳/'不存在** **相對於此代碼從**運行的位置。修復你的路徑。如果您需要更多信息,請提供更多信息。 – deceze

回答

4

這是最有可能的相對路徑問題。您可能想要嘗試更加絕對的路徑:

<?php $filename = $_SERVER['DOCUMENT_ROOT'].'/my_site/uploads/';?> 

顯然,您可以正確地從文檔根目錄提供路徑。如果您不確定那是什麼,只需var_dump($_SERVER['DOCUMENT_ROOT']);並將其與您認爲或驗證上傳的路徑進行比較。

+0

感謝您的回答。 我編輯了我的代碼到這一個 <?php $ filename = $ _SERVER ['DOCUMENT_ROOT']。'ihq/uploads /';?> 但它返回相同的東西,默認圖像。我var_dump($ _ SERVER ['DOCUMENT_ROOT']);並返回正確的路徑。 – claire

+0

在大多數情況下你需要/之前的ihq。當你查看ftp什麼是從webroot的絕對路徑,以及它與$ _SERVER ['DOCUMENT_ROOT']。'/ ihq/uploads /說的相比如何? –