2016-09-27 8 views
0

Я пытаюсь проверить, существует ли файл или нет. Я пробовал простой URL-адрес http для задачи, но file_exists() не поддерживает (моя версия php 5.5.12 и allow url fopen активирована).Как добавить обратную косую черту рядом с константами магии php?

Так я пытался по-разному и его работы см ниже

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

Проблема заключается в том, что я добавляю имя шаблона динамически, и мне нужно обратную косую черту между __DIR__ и $temp_name, но я не могу сцепить должным образом. Я пробовал ниже

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

Но никто не работает, его синтаксическая ошибка возврата. Так может ли кто-нибудь вести меня, как я могу исправить проблему, которую я хотел бы оценить. Спасибо

ответ

3

Попробуйте это:

$__DIR = __DIR__.'\\'; 

Backshlash специальный символ в PHP (и других языках, а), который используется для принятия к сведению, что символы после них следует интерпретировать особым образом - и назван " побег ". Вы не хотите, чтобы это произошло, поэтому вам следует избегать backshlas ... Используя еще один backshlash. ;)

Вы можете прочитать больше here.

+0

Его работа, Спасибо за руководство +1 –

+0

Добавлено объяснение. Если это ответ на ваш вопрос - отметьте его как ответ. –

0

Другой вариант - использовать предопределенную константу DIRECTORY_SEPARATOR.

$__DIR = __DIR__ . DIRECTORY_SEPARATOR; 

Таким образом, ваш код более переносится между операционными системами, что может или не может вас беспокоить.

 Смежные вопросы

  • Нет связанных вопросов^_^