Самый простой способ - использовать абсолютный (полный) путь:
if (file_exists("/full/path/to/photos/".$this->id.".jpg") ){
//
}
Таким образом, независимо от того, где выполняется ваш скрипт, полный путь, который никогда не изменится, всегда будет работать.
Конечно, вы, вероятно, не хотите жестко запрограммировать полный путь в ваш PHP-скрипт ...
Таким образом, вы можете использовать dirname(__FILE__)
, чтобы получить полный путь к каталогу, в котором содержится файл, в который вы записали dirname(__FILE__)
, и оттуда перейти к относительному.
Например:
$path = dirname(__FILE__) . '/../../files/photos/'.$this->id.".jpg";
if (file_exists($path)) {
//
}
(при тестировании вы, возможно, захотите сначала отобразить значение $path
, чтобы убедиться, что вы правильно указали путь)
Примечание: если вы работаете с PHP> = 5.3, вы можете использовать __DIR__
вместо dirname(__FILE__)
.
Соответствующие справочные страницы: