2013-05-22 118 views
2

我有一個簡單的問題 - 如何檢查Laravel的Blade模板中是否存在文件? 我試圖如果Laravel的Blade模板檢查文件是否存在

@if(file_exists('/covers/1.jpg')) ok @endif 

但它不工作(covers目錄是/public)。我還需要爲該函數提供一個變量($game->id)。非常幸運,

@if(file_exists('/covers/'.$game->id.'.jpg')) ok @endif 

不起作用。

+0

如果您的安裝位於子目錄中,那麼除非您的子目錄設置爲文檔根目錄,否則該絕對路徑將不起作用。例如,如果你在'localhost/yoursite/public'訪問你的網站,那麼你需要使用'/ yoursite/public/covers/1.jpg',因爲'localhost'將是文檔根目錄。 –

回答

14

這是爲我工作,爲favicon.ico是內部公開:

@if(file_exists('favicon.ico')) 
    File exists 
@else 
    Could not find file 
@endif 

所以我認爲你只需要使用@if(file_exists('covers/1.jpg'))

7

在Laravel 4您可以使用:

@if (file_exists(public_path('covers/1.jpg'))) 

使用public_path來獲取文件的物理路徑。

+0

謝謝,這對我有幫助。 – jvv