2013-10-25 42 views
0

我有一個代碼,首先檢查變量是否具有從服務器拉取圖像然後打印它的值。如果變量是空的,它會打印一個名爲nologoyet.png的默認圖像。以下代碼顯示過程驗證文件存在於服務器上使用php

<? echo base_url(); ?>logos/<? if($value->logo_file != ""): echo $value->logo_file; else: echo "nologoyet.png"; endif; ?> 

上述代碼完美無缺。現在我的疑問是,如何確定當變量非空時服務器上實際存在文件。

Ex。如果echo logo_file給出abc.png; 然後我想檢查服務器上是否存在abc.png。如果它不存在,那麼我想再次使用nologoyet.png

上述問題的原因是我可以處理每個不存在的文件情況。

如果需要更詳細的解釋,請告訴我。謝謝大家的答案。

+1

http://php.net/manual/en/function.is-file.php –

+1

http://php.net/manual /en/function.file-exists.php –

回答

0

很簡單,只需使用該文件存在功能:http://php.net/manual/en/function.file-exists.php

 $logo_file = "abc.png"; 
    $filename = $logo_file; 

    if (file_exists($filename)) { 
     echo "$filename"; 
    } else { 
     echo "nologoyet.jpg"; 
    } 
+0

我只是試着用下面的代碼<?如果($值 - > logo_file = 「」!)。 \t \t \t \t \t \t \t \t \t $ IMAGE_PATH = BASE_URL()'標誌/'.$值 - > logo_file; \t \t \t \t \t \t \t \t \t如果(file_exists($ IMAGE_PATH)): \t \t \t \t \t \t \t \t \t \t $ IMAGE_PATH = BASE_URL() '標誌/ nologoyet.png'; \t \t \t \t \t \t \t \t \t ENDIF; \t \t \t \t \t \t \t \t否則: \t \t \t \t \t \t \t \t \t $ IMAGE_PATH = BASE_URL() '標誌/ nologoyet.png';。 \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t ENDIF; \t \t \t \t \t \t \t \t clearstatcache(); \t \t \t \t \t \t \t?>但問題在於,即使文件不存在,也是如此。這裏的場景是..服務器上有一個名爲logo33.jpg的文件..但打印機的一個是logo33.jpg,它是不是像php一樣尋找擴展名? – Deep