2016-09-27 61 views
0

我試圖檢查文件是否存在。我嘗試了簡單的http URL來完成任務,但file_exists()不支持(我的php版本是5.5.12allow url fopen已激活)。如何在php魔術常量旁添加反斜線?

所以我在不同的方式,其工作嘗試,見下文

if(file_exists(__DIR__.'\email_template.php')) { 
    echo 'Template is available.'; 
} 

問題是我要動態地添加模板名稱,我需要__DIR__$temp_name之間的反斜槓,但我不能正確地拼接。我試過下面

$__DIR = __DIR__.'\'; 
$__DIR = __DIR__.'"\"'; 
$__DIR = __DIR__."\"; 

但是沒有人工作,它的返回syntac錯誤。所以任何人都可以指導我如何解決我想欣賞的問題。謝謝

回答

3

試試這個:

$__DIR = __DIR__.'\\'; 

Backshlash是PHP(和其他語言)的特殊字符,即用於提的是,在他們以後字符應以特殊的方式來解釋 - 而被命名爲「逃逸字符「。 你不希望發生這種情況,所以你應該逃脫backshlas ...通過使用一個更多的反衝。 ;)

您可以閱讀更多here

+0

其工作方式,感謝指南+1 –

+0

新增說明。如果這是您的問題的答案 - 將其標記爲答案。 –

0

另一種選擇是使用預定義常數DIRECTORY_SEPARATOR

$__DIR = __DIR__ . DIRECTORY_SEPARATOR; 

這樣,您的代碼在操作系統之間更具可移植性,這可能會或可能不會受到您的關注。