Codeigniter "file_exists ($ filename)" - PullRequest
       0

Codeigniter "file_exists ($ filename)"

8 голосов
/ 10 февраля 2012

Нужна помощь с codeigniter, я думаю, file_exists для пути к серверу, а не для URL.но моя папка с изображениями получила тот же уровень, что и папка приложения и системы.ничего не найти в гугле, помогите пожалуйста

$url=base_url();
$filename="$url/upload/$id.jpg";
if (file_exists($filename)){
    echo "<li><img src=\"".$url."upload/$id.jpg\" width=\"40\" height=\"40\" /></li>";
}else{
    echo "<li><img src=\"http://www.mydomain.com/haha/image/noimg.png\" width=\"40\" height=\"40\" /></li>";
}

1 Ответ

47 голосов
/ 10 февраля 2012

Codeigniter всегда работает на index.php, поэтому все пути оттуда относительны.Вы можете использовать любое из следующего, предполагая, что upload/ находится на том же уровне, что и index.php:

  • file_exists("upload/$id.jpg")

  • file_exists("./upload/$id.jpg")

  • file_exists(FCPATH."upload/$id.jpg")

FCPATH - это константа, которую Codeigniter устанавливает, которая содержит абсолютный путь к вашему index.php.

В качестве примечания я предпочитаю is_file() при проверке файлов, так как file_exists() возвращает true для каталогов.Кроме того, вы можете посмотреть, вернет ли getimagesize() FALSE, чтобы убедиться, что у вас есть изображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...