Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/26: Рейтинг темы: голосов - 26, средняя оценка - 4.69
8 / 8 / 2
Регистрация: 17.03.2012
Сообщений: 534
Записей в блоге: 2

Как вывести картинки через такую ?img=52135 ссылку?

11.06.2012, 20:49. Показов 5148. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как вывести картинки через такую phpscript.php?img=52135 ссылку?

(Задача скрыть настоящий путь к картинке и добавить проверку в скрипте что пользователь может
увидеть картинку).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.06.2012, 20:49
Ответы с готовыми решениями:

Как же сформировать такую ссылку?
Всем привет Меня интересует как генерировать такие силки как вот эта http://z3txt.voluumtrk.com/85ce5ccc-24fe-4716-8c6b-17295096725e...

Как вытащить ссылку base64 из тэга img через JSOUP?
Всем Привет! Встала задача, как вытащить через библиотеку jsoup ссылку на base64 кодированное изображение, чтобы его через Picasso...

Свойство картинки <img> через webbrowser
как узнать свойсва картинки(интересует ее размер в байтах) по средствам webbrowser'a? Код картинки: &lt;img...

16
 Аватар для SFED
119 / 119 / 32
Регистрация: 09.07.2011
Сообщений: 203
11.06.2012, 22:10
phpscript.php
PHP
1
2
3
if($_GET['img'] == 52135)
{ echo "<img src и т.д.>";
}
Банально принцип был такой...

Но все это чушь конечно... по сути путь к картинке не скрыть... любой современный браузер покажет "настоящий путь к картинке"... (правый клик -> URL картинки)

Кстати, подобный момент где-то уже обсуждался на форуме...
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
11.06.2012, 22:41
Создать скрипт например
pict.php
в нём что то типа
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if (isset($_GET['img']))
{
    // ну тут решаете что делать.
    // например проверяете есть ли такая картинка
    // смотрите расширение, и отдаёте соответствующий header заголовок.
    // для jpg
    header('Content-Type: image/jpeg');
    // говорите под каким именем браузеру принять картинку
    $filename = 'pict.jpg';
    header('Content-Disposition: attachment;filename="'.$filename.'"'); 
    // а потом просто читаете файл картинки и выдаёте его содержимое в браузер.
}
но я не стал бы делать это на php.
лучше используйте mod_rewrite апача или rewrite nginx'a
1
8 / 8 / 2
Регистрация: 17.03.2012
Сообщений: 534
Записей в блоге: 2
12.06.2012, 16:47  [ТС]
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
Создать скрипт например
pict.php
в нём что то типа
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if (isset($_GET['img']))
{
    // ну тут решаете что делать.
    // например проверяете есть ли такая картинка
    // смотрите расширение, и отдаёте соответствующий header заголовок.
    // для jpg
    header('Content-Type: image/jpeg');
    // говорите под каким именем браузеру принять картинку
    $filename = 'pict.jpg';
    header('Content-Disposition: attachment;filename="'.$filename.'"'); 
    // а потом просто читаете файл картинки и выдаёте его содержимое в браузер.
}
но я не стал бы делать это на php.
лучше используйте mod_rewrite апача или rewrite nginx'a
Это класная идея, но страницу с десятком картинок надо будет перегружать раз 10-20.
Если эти картинки какимто образом будут загнаны в кеш клиента, и при повторной закрузке как то сказать браузеру чтобы не загружал их снова, то это то что нужно.
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
12.06.2012, 16:51
Браузер сам знает что их не нужно загружать. При первой загрузке картинки она кэшируется. Потом она будет браться из кэша.
Можно задавать время кэширвоания напрмиер таким заголовком
PHP
1
header('Cache-Control: max-age=3600'); // 3600 секунд
1
8 / 8 / 2
Регистрация: 17.03.2012
Сообщений: 534
Записей в блоге: 2
12.06.2012, 17:01  [ТС]
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
Браузер сам знает что их не нужно загружать. При первой загрузке картинки она кэшируется. Потом она будет браться из кэша.
Можно задавать время кэширвоания напрмиер таким заголовком
PHP
1
header('Cache-Control: max-age=3600'); // 3600 секунд
А откуда браузер узнает что это та же картинка, ведь имя не передается?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
12.06.2012, 17:13
Как не передаётся.
HTML5
1
<img src="script.php?img=12345"/>
script.php?img=12345 - это имя картинки для браузера
а при созранении
Цитата Сообщение от abc_privet Посмотреть сообщение
filename="'.$filename.'"
это имя картинки
1
8 / 8 / 2
Регистрация: 17.03.2012
Сообщений: 534
Записей в блоге: 2
12.06.2012, 19:54  [ТС]
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
Как не передаётся.
HTML5
1
<img src="script.php?img=12345"/>
script.php?img=12345 - это имя картинки для браузера
а при созранении

это имя картинки
Спасибо, попробую.
0
 Аватар для Sergio Aguero
452 / 443 / 21
Регистрация: 11.04.2012
Сообщений: 2,076
14.06.2012, 07:46
JavaScript
1
2
3
4
5
6
$("img[src]").each(
    function()
    {
      this.src = this.src+'?img=52135';
    }
);
1
8 / 8 / 2
Регистрация: 17.03.2012
Сообщений: 534
Записей в блоге: 2
21.09.2012, 01:24  [ТС]
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
Браузер сам знает что их не нужно загружать. При первой загрузке картинки она кэшируется. Потом она будет браться из кэша.
Можно задавать время кэширвоания напрмиер таким заголовком
PHP
1
header('Cache-Control: max-age=3600'); // 3600 секунд
Такой вызов картинок затормазил сайт. Может из за того что есть параметры кеш не работает?

Вопросы:
1) Как посмотреть кеш, и запоминаются ли в нем эти картинки?
2) Если нет то как подправить хедер?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
21.09.2012, 01:42
Например в браузере гугл хром, нажать ctrl + shidt + j
переключится на вкладку network
перейти на страницу (важно!!! не обновить! а именно перейти по ссылке или через адресную строку)
в колонке size будет для кэшируемых объектов написано (from cache)
1
8 / 8 / 2
Регистрация: 17.03.2012
Сообщений: 534
Записей в блоге: 2
21.09.2012, 01:52  [ТС]
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
Например в браузере гугл хром, нажать ctrl + shidt + j
переключится на вкладку network
перейти на страницу (важно!!! не обновить! а именно перейти по ссылке или через адресную строку)
в колонке size будет для кэшируемых объектов написано (from cache)
Не пишет что из кеша.
Что делать?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
21.09.2012, 02:31
ссылку на сайт можно увидеть?
1
8 / 8 / 2
Регистрация: 17.03.2012
Сообщений: 534
Записей в блоге: 2
21.09.2012, 03:06  [ТС]
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
ссылку на сайт можно увидеть?
Сайт в разработке у меня на компьютере.

Если картинки загружаются через <img ...> то да написано что они из кеша,
а поскольку скрипт с параметрами, то он не кешируется.

Вот нашел инфу:

http://php.su/articles/?cat=protocols&page=012

Рассмотрим пример выдачи изображения из базы данных индентифицируемых по ID. Вызов страницы выглядит следующим образом:

http://www.your.server/viewpic.php3?id=23123
а значит по правилам страница не будет сохраняться в кэш (присутствуют параметры), но через заголовок можно управлять этим.




В моем случае:
script.php?img=$id

Попытался разобраться с
PHP
1
2
3
header("Cache-Control: public, must-revalidate");
header("Vary: Content-ID");
header('Content-ID: '.$id);

но ничего не получилось.

Какие есть идеи?

0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
21.09.2012, 03:33
Что значит через скрипт? У вас с помощью JS грузятся картинки? Или явно в html коде прописано
HTML5
1
<img src="https://www.cyberforum.ru/php-beginners/...php..."
?

Добавлено через 7 минут
Вот 1.php
PHP
1
2
3
4
5
<?php
 
header('Content-Type: image/jpeg');
header('Cache-Control: max-age=3600');
readfile($_GET['id'].'.jpg');
Вот 1.html
HTML5
1
<img src="1.php?id=11"/>
Картинка при первом открытии загрузилась, при всех последующих - берётся из кэша.
Я не знаю почему у вас не работает.
1
8 / 8 / 2
Регистрация: 17.03.2012
Сообщений: 534
Записей в блоге: 2
21.09.2012, 17:00  [ТС]
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
Что значит через скрипт? У вас с помощью JS грузятся картинки? Или явно в html коде прописано
.....
Картинка при первом открытии загрузилась, при всех последующих - берётся из кэша.
Я не знаю почему у вас не работает.
Так и сделано, буду искать ошибку.

Добавлено через 25 минут
Проблемма пока не решена. Какие емть идеи?

Добавлено через 3 часа 3 минуты
Может проблемма с XAMPP?
0
8 / 8 / 2
Регистрация: 17.03.2012
Сообщений: 534
Записей в блоге: 2
14.11.2012, 21:13  [ТС]
Проблемма пока в силе.
При выдаче картинки через скрипт м параметром картинка не хочет кешироваться.

Какие есть идеи у форумчан?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.11.2012, 21:13
Помогаю со студенческими работами здесь

Как защитить от взлома через [img] [/img] BBcode
Добрый день! На сайте реализованы некоторые возможности BBcode в комментировании... Я так понимаю что взломать такой сайт с помощью...

Записываю в таблицу картинки из Img контрола, как узнать размер картинки?
Заполняю в цикле Img контейнер картинками из shape группы из эксела. Картинки могут быть реальными фотографиями, а могут оказаться...

Как прочитают такую ссылку ПС??
http://localhost/st/com_image/image/P9200101.JPG')&quot;&gt;http://localhost/st/com_image/image/thumb/P9200101.JPG&amp;quot&lt;/a&gt;; alt=&quot;бла-бла-бла&quot;...

как сделать такую ссылку
У меня такой вопрос: когда на swf нажимаеш правой кнопкой мыши - открывается стандартное меню там : о программе адобе, цикл, качество,...

Как вывести картинки через if?
Как вывести картинки через if? Вообщем, пользователь в input вводит смайлик, например: :-) -&gt; нажимает на button, затем выводится ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru