2016-09-27 64 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; 

这样,您的代码在操作系统之间更具可移植性,这可能会或可能不会受到您的关注。