как узнать откуда пришел запрос
как тут узнается откуда пришел запрос?
в теге img изображение, а при переходе по ссылке html страница получил массив getallheaders() в php, но разницы не заметил <img src="http://s019.radikal.ru/i600/1607/e1/85f3491e0b56t.jpg"> <a href="http://s019.radikal.ru/i600/1607/e1/85f3491e0b56t.jpg">ссылка</a> |
хотя разница есть, сразу не заметил
при запросе из тега img браузеры не пишут в заголовке Accept что понимают html, вот так "text/html" |
В данной случае никак.
С заголовком просто повезло, что разработчики браузера сделали именно так. |
Rise, нет, ты исправил ссылки
нужно сделать чтобы определялось без параметров в радикале же определяется Botik21, я не думаю что это везение, совершенно нелогично, что браузер запрашивая ресурс для тега img будет писать что понимает html, бог с ним в этом случае способ нормальный если браузер пишет что понимает html в заголовке выдать страницу, не пишет значит картинку, разве нет? |
psiklop,
какое отношение к src="http://s019.radikal.ru/i600/1607/e1/85f3491e0b56t.jpg" имеет РНР? |
laimas, тут ответ генерирует скрипт php, mod rewrite перенаправляет все jpg на php скрипт
Rise, в моем примере ссылке в <img> и <a> совершенно одинаковые, а вообще "t" на радикале по моему просто добавляется к имени файла и создается превью(маленькая картинка) |
а вообще проверил все работает
эта строка работает идеально во всех браузерах что я попробовал, определяет запрос из img или нет if (strpos($_SERVER['HTTP_ACCEPT'], "text/html")!== false) |
Цитата:
|
laimas, потому что картинок на сервере не будет, их будет выдавать php скрипт
а вторая причина в самой теме, чтобы определить что выдать картинку либо страницу rise, ссылки одинаковые и работает на радикале, если у тебя не работает значит браузер закешировал картинку работает все четко в теге картинка, просто перейти - страничка ссылки ОДИНАКОВЫЕ, вот так понятней будет === |
Цитата:
|
на одном сервисе, где все быстро, всего много, и все бесплатно
|
laimas, вот это точно к php как относится?
если действительно так интересно, напиши в личку, я отвечу без проблем |
Если с другого сервера, то это плюс к распределению нагрузки, но если это через интерпретатор, то большой минус. Посему и вопрос встал, почему шлюзом должен заниматься РНР.
|
Потому что у меня нет сервера своего и платить за чужой я тоже не намерен. Есть облако с api доступом. Плюс там все равно надо определить откуда запрос, поставить в базе что к файлу было обращение нового числа и прочее.
Все работает норм и так, вот только еще хотелось бы чтобы когда показывается картинка на страничке, если кликнуть по ней, сделать чтобы браузер выводил графический файл так как он это делает по дефолту, и чтобы без перезагрузок и обращений к серверу вообще, все в клиенте. Я только так додумался, вроде работает на маленьких картинках норм, но если мегабайт или больше, я уж не пишу про мобильные, даже на компе браузер уходит в глубокий зависон из которого выходит лишь спустя порядочно секунд. <img onclick="window.location.assign(this.src)" src='<?php echo $base64img ?>'> P.S. карма все ниже, я что обидел кого-то? |
Цитата:
Можно иметь свой сервер, который не содержит медиа данных, они на бесплатном хосте располагаются. В этом случае медиа контент подгружается с них, не нагружая основной сервер запросами. Если такие данные грузятся также с другого сервера, но по разрешениям на доступ, то тогда перенаправление с основоного сервера на другой, но и в этом случае РНР сбоку, все решается средствами Апач. Если же перенаправление/РНР, это забота как раз другого сервера, то никоим образом не получится "распознать", если это другой не принимает параметров с соответствующей реакцией на них. С другой стороны src='<?php echo $base64img ?>' - это говорит о том, что все таки и сервер свой есть, и интерпретатор - обрабатывайте параметры. Правда base64 для изображения это слишком, тем более для больших изображений. |
нет сервера, есть просто аккаунт на хостинге beget
что значит слишком base64? а какой есть вариант? если есть вариант напиши пожалуйста, если нету просто типа все плохо без своего сервера, не грузи пожалуйста |
тут плохо именно base64 или то что это выводит в тело страницы echo?
если хранить в облаке уже base64 и img.src выдавать просто прямую ссылку на облако так будет лучше? |
ну да, тут я облажался, зачем base64 вообще тут нужен
когда можно просто запросить по api прямую ссылку из облака и ее и вставить в img.src |
Rise, в смысле сколько страниц? каком url?
|
base64 - это в три раза больше исходного объема, что не есть хорошо, когда большой потребности в этом нет.
То что в процесс выдачи изображения вклинивается интерпретатор, в чем тоже необходимости нет, это тоже не лучшее, что можно придумать. |
вот так: /имя файла
нисколько в длину, сразу в корне, а что? |
Rise, проц и память то что надо, это мой игровой комп, а играть я люблю и денег не пожалею
но тормозит факт, но и не в моем компе дело, нужно чтобы везде работало, так что способ выводить в стартовую строку вообще не пригоден |
Например чтобы не хранить все размеры. Дофига сайтов выдают картинки скриптами, в частности imdb
|
Часовой пояс GMT +3, время: 00:02. |