Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не открываются картинки
 
 автор: Eblinkoff   (12.10.2014 в 23:01)   письмо автору
 
 

Здравствуйте!rnПомогите мне пожалуйста. Не могу понять почему у меня картинки на сайте (сайт пока на Денвере) открываются только, если они в корневом каталоге. То есть если пишу echo <<<HERE....<img src="\picture.jpg"... итд, да, картинка отображается. Но если \dir\picture.jpg (dir - реальный каталог), то картинка не отображается. Пытаюсь написать полный путь $_SERVER['DOCUMENT_ROOT'] . '\picture.jpg' - тоже нет, даже если в корневом каталоге. В чём дело?

  Ответить  
 
 автор: confirm   (13.10.2014 в 08:32)   письмо автору
 
   для: Eblinkoff   (12.10.2014 в 23:01)
 

В путях дело, используется относительный путь некорректный. В отладчике смотрите по каким путям в итоге запросы идут.
И не прописывайте слеши Widows "\", если пишется под Unix.

  Ответить  
 
 автор: Eblinkoff   (14.10.2014 в 08:39)   письмо автору
 
   для: confirm   (13.10.2014 в 08:32)
 

Спасибо за ответ. В отладчике вот что выходит: Not allowed to load local resourse: file: ///K:/home/site.ru/www/picture.jpg ТРИ слеша. Что это может означать? В коде путь такой: $_SERVER['DOCUMENT_ROOT'] . '\picture.jpg' Как раз-таки пишется под Windows, но я пробовал по всякому, всё равно не работает.

  Ответить  
 
 автор: confirm   (14.10.2014 в 09:10)   письмо автору
 
   для: Eblinkoff   (14.10.2014 в 08:39)
 

Вы на каком сервере удаленном собираетесь размещать, на Win платформе или все таки на Unix? Если последнее то зачем вы (а не то что показывает вам РНР в реальных путях) пишите слеши "\"? Кроме проблем это ничего не даст. Не волнуйтесь РНР разберется со слешами сам, пишите /.

Что касается почему путь не верный, значит ваш локальный сервер не верно сконфигурирован. Не знаю под чем вы пишите, но выбросите его, скачайте готовый сервер OpenServer, который нужно будет только распаковать, подключить нужные модули, и в котором есть все.

PS. Три слеша, это правильно, в данном случае это путь локального расположения файла.

  Ответить  
 
 автор: Eblinkoff   (14.10.2014 в 13:34)   письмо автору
 
   для: confirm   (14.10.2014 в 09:10)
 

Пока что на Денвере, а потом - не знаю . Слеши поменял, не помогло. Этот сервер переустанавливать - опять китайский язык с нуля, день псу под хвост :-(

  Ответить  
 
 автор: confirm   (14.10.2014 в 14:26)   письмо автору
 
   для: Eblinkoff   (14.10.2014 в 13:34)
 

Вам ни кто и не говорил, что все наладится стоит только заменить слеши - нельзя писать что-то для будущего размещения на сервере с платформой Unix слеши Widows. Не будет таковых путей.

Работая же на локальном сервере установленном даже на Win платформе, использование слешей Unix никак не помешает, даже если получив абсолютный путь и добавив к нему категорию /name, увидев в итоге C:\server\domain\etc/name, не удивляйтесь, все будет работать.

Но для этого конфигурация путей должна быть корректна, чего либо у вас нет, либо вы не корректно указываете относительные пути относительно скрипта обработчика.

Денвер когда-то был не плохим инструментом, на данный момент приказал долго жить, ибо не развивается, а время не стоит на месте. OpenServer, это тоже что и Денвер, не требует инсталляции. Все что надо сделать описано на сайте у них. В отличие от Денвер, он развивается и имеет многое, чем не обладает Денвер.

  Ответить  
 
 автор: Trianon   (14.10.2014 в 17:45)   письмо автору
 
   для: Eblinkoff   (14.10.2014 в 13:34)
 

> день псу под хвост :-(

"достойный аргумент", ничего не скажешь.

  Ответить  
 
 автор: Eblinkoff   (14.10.2014 в 20:08)   письмо автору
 
   для: Trianon   (14.10.2014 в 17:45)
 

Ну, да, Вы правы, я перегнул палку. Просто устал читать мануалы

  Ответить  
 
 автор: Commander   (14.10.2014 в 10:36)   письмо автору
 
   для: Eblinkoff   (14.10.2014 в 08:39)
 

Не надо использовать $_SERVER['DOCUMENT_ROOT'] - это адрес в локальной файловой системе. Для отображения в браузере вам нужен адрес картинки в сети. Вместо докрута пропишите $_SERVER['SERVER_NAME'].

  Ответить  
 
 автор: Trianon   (14.10.2014 в 11:21)   письмо автору
 
   для: Commander   (14.10.2014 в 10:36)
 

но зачем?
При использовании относительного имени, браузер сам построит путь от сервера, сгенерировавшего страницу.
То что document_root совсем за гранью - согласен

  Ответить  
 
 автор: Commander   (14.10.2014 в 14:48)   письмо автору
 
   для: Trianon   (14.10.2014 в 11:21)
 

но зачем?
При использовании относительного имени, браузер сам построит путь от сервера, сгенерировавшего страницу.


Первый пост прочитайте

  Ответить  
 
 автор: Trianon   (14.10.2014 в 17:43)   письмо автору
 
   для: Commander   (14.10.2014 в 14:48)
 

первый пост прочел.
Зачем применять явным образом специфицированный путь - все равно не понял.

  Ответить  
 
 автор: Eblinkoff   (20.10.2014 в 00:44)   письмо автору
 
   для: Eblinkoff   (12.10.2014 в 23:01)
 

Вопрос решился. Пишу - мало ли кому пригодится - не дай Боже. Оказалось, что пути к картинкам тоже проходят через правила в htaccess, а пути к моим картинкам как раз соответствуют одному из правил.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования