Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проверка существования картнки

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Andrey
Отправлено: 13 Июня, 2007 - 22:25:22
Post Id


Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Май 2007  


Помог: -1 раз(а)




Суть проблемы: все картинки формата product_articul.1.small.jpg хранятся на сервере в папке pic. Надо проверить существует ли такая картинка, если да, то вывести её, если нет, то вывести none.jpg.

При таком коде:

if(file_exists(""/pic/".$row['product_articul'].".1.small.jpg"")){
$pic=" " /pic/".$row['product_articul'].".1.small.jpg " ";}else{
$pic=""/pic/none.jpg"";}

браузер выдаёт картинку none.jpg. Если в условие добавляю '!' (то есть 'не')

if(!file_exists(""/pic/".$row['product_articul'].".1.small.jpg"")){
$pic=""/pic/".$row['product_articul'].".1.small.jpg"";}else{
$pic=""/pic/none.jpg"";}

то выдаёт нужную картинку, то есть говорит, что файла не существует, но как же его не существует, если он его в браузер выдает, правда, при условии, что его не существует.
В чём проблема?
 
 Top
evgenijj
Отправлено: 14 Июня, 2007 - 08:42:29
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




А скажи мне - по какому принципу ты расставляешь кавычки. Просто, где придется, или все-таки есть какая-то система?

И почитай немного про относительные и абсолютные пути.

Абсолютный путь на серверах хостинга обычно имеет вид /pub/home/имя_аккаунта/htdocs/fi les/images/img.gif
В скриптах удобнее использовать глобальные переменные
$_SERVER["DOCUMENT_ROOT"]."/files/images/img.gif"
Если скрипт находится в директории files, то проверить существование файла изображения можно так
PHP:
скопировать код в буфер обмена
  1.  
  2. if ( is_file( "./images/img.gif" ) )
  3.   echo "Файл существует";
  4. else
  5.   echo "Файл не существует";
  6.  

Или так
PHP:
скопировать код в буфер обмена
  1.  
  2. if ( is_file( $_SERVER["DOCUMENT_ROOT"]."/files/images/img.gif" ) )
  3.   echo "Файл существует";
  4. else
  5.   echo "Файл не существует";
  6.  

. (точка) -- текущая директория
.. (две точки) -- родительская (уровнем выше) директория

См. также функцию realpath()
 
 Top
Andrey
Отправлено: 14 Июня, 2007 - 21:48:15
Post Id


Новичок


Покинул форум
Сообщений всего: 58
Дата рег-ции: Май 2007  


Помог: -1 раз(а)




Большое спасибо. Получилось!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB