2017-06-15 60 views
0

代碼:file_exists方法在ci中不工作?

<?php 
    $filename = FCPATH.'resources/img/college_logo/'.trim($fetch['college_name']).'.jpg'; 
    if (file_exists($filename)) 
    { 
?> 
     <img src="<?php echo $filename; ?>"> 
<?php 
    } 
    else 
    { 
?> 
     <img src="<?php echo base_url(); ?>resources/img/college_logo/logo_not.jpg"> 
<?php  
    } 
?> 

enter image description here

我在笨新的,我想如果存在沒有發現任何其他顯示標誌圖像來顯示圖像,但現在它只能顯示標識未找到。而我回聲$文件名,它告訴我圖像路徑,當我把路徑在URL然後它顯示我的形象,但在這裏它不適合我。那麼,我該如何解決這個問題?請幫忙。

謝謝

+1

'$ filename'是絕對的'HTTP' URL? – DarkBee

+1

確保file_exists()需要使用硬盤驅動器上的文件路徑,而不是URL – Santosh

+0

如果我使用$ filename ='http://localhost/collegescan_ci/resources/img/college_logo/'.trim($ fetch [ 'college_name']) 'JPG'。那麼它顯示我沒有找到標誌爲什麼? – omkara

回答

1

問題是因爲您使用的文件系統路徑,如果文件被發現。您應該使用URL而不是絕對系統路徑在瀏覽器中呈現圖像。

<?php 
$filename = 'resources/img/college_logo/'.trim($fetch['college_name']).'.jpg'; 
if (file_exists(FCPATH.$filename)) { 
?> 
<img src="<?php echo base_url($filename); ?>"> 
<?php 
} else { 
?> 
<img src="<?php echo base_url('resources/img/college_logo/logo_not.jpg'); ?>"> 
<?php  
} 
?> 
+0

謝謝@Tpojka – omkara