Как вы возвращаете изображение без имени файла или расширения в URL

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

http://photos.iitm.ac.in/byid.php?id=008576

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

0

Решение

Это довольно просто. Вам просто нужно отправить данные с правильным типом контента. Так что если вы хотите показать gif-изображение, просто используйте:

Header("Content-Type: image/gif");

а затем отправить данные изображения.

0

Другие решения

Вы можете сделать так:

Предположим, пример URL:

http://www.example.com/getImage.php?id=20

Итак, на странице getImage.php получите информацию об изображении пользователя из базы данных и укажите источник изображения:

Код должен быть таким:

    $userImageName="testImage.gif";         //FROM DATABASE FOR id=20, Just for example
ob_clean();                            //CLEAN THE OUTPUT BUFFER
header("Content-Type: image/gif");     //SET PAGE HEADER FOR IMAGE
echo file_get_contents('imageDirectory/'.$userImageName);
die;
0

Хотя это не прямой ответ на заданный вопрос, так как на него уже отвечали другие люди, я думаю, что все же стоит упомянуть.

Вы также можете контролировать имя файла, которое появляется при попытке сохранить изображение! Для этого используйте следующий заголовок:

header('Content-Disposition', 'inline;filename=my_image_title.jpg');

так что ваш скрипт выглядит так:

header('Content-Disposition: inline;filename=my_image_title.jpg');
header('Content-Type: image/jpeg');
readfile($pathToImage);
//or echo $imageContent

Просто убедитесь, что вы ничего не выводили случайно, прежде чем сделать первый вызов header()в противном случае вы можете получить ошибку «заголовки уже отправлены».

0
По вопросам рекламы [email protected]