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

Форум PHP

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

 

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

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

тема: Переаддресация картинки
 
 автор: Dead   (02.09.2008 в 15:01)   письмо автору
 
 

Допустим хочу вывести на сайт картинку из определенной директории а на сайте такой картинки нету, можно ли средствами htaccess указать для ненайденных картинок, подгрузку какойто другой картинки?

  Ответить  
 
 автор: sim5   (02.09.2008 в 15:05)   письмо автору
 
   для: Dead   (02.09.2008 в 15:01)
 

Если картинки нет, то и незачем ставить на нее ссылку.

  Ответить  
 
 автор: GeorgeIV   (02.09.2008 в 15:08)   письмо автору
 
   для: Dead   (02.09.2008 в 15:01)
 

Картинка - это файл, проверяй на наличие этого файла, при отстутствии заменяй имя файла на заранее подготовленное и всегда точно существующее

  Ответить  
 
 автор: Dead   (02.09.2008 в 15:24)   письмо автору
 
   для: GeorgeIV   (02.09.2008 в 15:08)
 

Попробую ещё раз обьяснить задачу:

есть картинка на сайте:
<img src="img/pic.jpg">

И тут в определенный момент программист решил эту папку убрать с директории вебсервера или отдельные картинки(временно). Соответственно на сайте все картинки пометятся (Х), возможно ли сделать mod_rewrite'om так чтоб в этом случае для всех несуществующих картинок бралась картинка по адресу - img/default.jpg

  Ответить  
 
 автор: sim5   (02.09.2008 в 15:36)   письмо автору
 
   для: Dead   (02.09.2008 в 15:24)
 

Даже и сказать на такое не значешь что. Как это убрать, но оставить вывод? Если убирается, то сайт закрывается на рекнструкцию/изменения. Если пути меняются, то есть файлы конфигурации, к примеру, где несложно заменить путь... Если у вас такой программист-пофигист, то вам уже сказали - проверять наличие файла, нет, значит вывод по умолчанию, какие тут могут быть проблемы?

  Ответить  
 
 автор: Dead   (02.09.2008 в 15:52)   письмо автору
 
   для: sim5   (02.09.2008 в 15:36)
 

Менять прийдется везде, а процедура одноразовая. Останавливать работу сайта нельзя. Так что на мой взгляд mod_rewrite самое оно. На прописывание везде дополнительной проверки уйдет довольно много времени

  Ответить  
 
 автор: sim5   (02.09.2008 в 15:56)   письмо автору
 
   для: Dead   (02.09.2008 в 15:52)
 

Вот чтобы не менять везде, надо думать заранее, и писать так, чтобы не "лазить" по всем скриптам с заменой. Для этого и служат файлы конфигурации, для этого и делают проверки. А с вашим подходом "разумным", в конечном итоге вполне можно докатиться до того, что вместо РНР будет работать огромадный по размеру .htaccess.

  Ответить  
 
 автор: Dead   (02.09.2008 в 16:18)   письмо автору
 
   для: sim5   (02.09.2008 в 15:56)
 

ну ладно представим ситуацию:

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

Твоя теория гласит, что дальше мне каждый раз при выводе картинки в цикле проверять её file_exists'ом, вот представь теперь что мне нужно будет 30 раз на странице вызвать эту функцию для того, чтобы возможно в будующем переносить картинки(операция займет примерно час) и вместо них подставлялись другие картинки.

И при чем тут громадный .htaccess, он и существует для того чтобы его в удобный момент применить по назначению. Проверки делают тогда, когда эти проверки действительно окажутся необходимыми, необходимости я в лишней проверке не нашел, так как эта проверка делалась изначально. Дабы не разглагольствовать ещё лет 10 на эту тему, попрошу высказывать свое мнение людей, которые дейстительно могут помочь по делу.

  Ответить  
 
 автор: sim5   (02.09.2008 в 16:24)   письмо автору
 
   для: Dead   (02.09.2008 в 16:18)
 

>проверяется наличие картинки в директории => если картинка есть заносим в базу=>если картинка занесена в базу => она выводится

А причем тут это? Речь шла о выводе на страницу того, что у вас существует. Если у вас такая сложная процедура перед выводом, то действительно, мне сказать нечего.

PS. Кстати, о "каждый раз проверять file_exists..." А зачем? Если у вас есть изображения, их имена прописаны в базе, чего их проверять? Но если у вас в базе прописано, а в конфигурации прописан путь к каталогу, а кому-то захотелось удалить его, то при наличии переменной указывающей на этот путь, достаточно проверить только эту переменную, а не сами картинки, а переменную не сложно обнулить в одном месте. Да и вообще, если вы берете имена из базы, то не трудно проверить есть ли картинка в ней, и если удалять, то удалять и записи в базе, от сюда и проблем не будет.

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

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