2012-04-10 4 views
1

Популярный хостинг изображений Imgur - отличный и я новичок в PHP. Я просто интересно, как им удается получить изображение для отображения на странице при вводе URL, такие как:PHP Отображение изображения с использованием POST-адреса

http://imgur.com/gallery/yjg8v

Как скрипт знать, чтобы отобразить определенный образ от yjg8v? Используют ли они $_SERVER['HTTP_HOST']?

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

ответ

3

сайтов, как imgur.com часто «чистую URL» вместо традиционной URL-адреса с параметрами.

Перед чистой URL, вы увидите что-то вроде:

imgur.com/image.php?id=yjg8v 

В вашем сценарии, вы можете получить доступ к параметру Для получения чистой URL-адресов с помощью

$_GET['id']; 

, вы можете использовать mod_rewrite в Apache (или аналогичную технологию на выбранном веб-сервере), чтобы отобразить '/ gallery/yjg8v' в '/image.php?id=yjg8v'.

Дополнительную информацию о моддврите here.

+0

И я предполагаю, что ID относится к URL-адресу изображения, хранящемуся в MYSQL? –

+0

Это может быть, но это может быть также имя изображения или любой другой уникальный идентификатор. –

+0

Да, я просто хочу, чтобы пользователи загружали файл, поэтому идентификатор будет ссылаться на путь к файлу в базе данных. Спасибо человеку, очень ценю помощь: D –

2

yjg8v - это параметр, передаваемый скрипту gallery. Он не похож на обычную строку запроса, потому что существуют различные способы кодирования веб-сайта, а обычная строка строки запроса выглядит как структура каталогов случайному наблюдателю, но фактически выполняется через фронт-контроллер или mod_rewrite, чтобы получить параметры из URL как строка запроса.

Это SitePoint article немного устарело, но демонстрирует, как это отлично работает с mod_rewrite.

Вы также можете использовать Apache's ForceType to accomplish this purely through PHP

0

Чтобы сделать его проще для вас, это называется URL переписывания, поэтому реальный URL, как: http://imgur.com/gallery/view.php?image=yjg8v

затем использовать $ _GET [ «изображение»]

Смежные вопросы