2012-12-23 2 views
-4

Я хочу показать изображения на своей веб-странице, используя PHP не напрямую src like 'images/pic.jpg'.загружать изображения, используя php не прямой доступ

Но я понятия не имею об этом.

Вы поможете мне?

Мне нужен сценарий php. пожалуйста, прекратите голосовать.

Отредактировано:

Вот что я пробовал:

header('Content-Type: image/jpg'); 
readfile($imgsrc); 

Поскольку этот вопрос закрыт кому-то, я должен сказать, что ответ, который я принял, и попытался было правильно, проблема была open_basedir и файл разрешение.

Проблема решена сейчас.

но ошибка из пут «изображение не может быть отображено, поскольку она содержит ошибку»

+0

Вы имеете в виду скрипт PHP для доставки изображений? –

+0

Да, почему кто-то голосовал, чтобы закрыть мой вопрос? –

+0

Я угадываю, потому что это не очень ясно? –

ответ

1

Вы должны использовать readfile:

function user_files($file_name = "") 
    { 
     // Check file_name is valid and only contains valid chars 
     if ((preg_match('^[A-Za-z0-9]{1,32}+[.]{1}[A-Za-z]{3,4}$^', $file_name)) 
     { 
       header('Content-Type: '.get_mime_by_extension(YOUR_PATH.$file_name))); 
       readfile(YOUR_PATH.$file_name); 
     } 
    } 

Существует ряд вопросов вокруг обходных и т.д. - так что вам нужно сначала проверьте файл $ file_name, как у меня есть preg_match

0

Поместите свои изображения в локальный каталог (на сервере), который недоступен протоколу HTTP.

Затем создайте простой PHP-скрипт, который примет имя файла в качестве параметра (или что-то еще, чтобы определить, какое изображение вы хотите загрузить) и вернет изображение вместо него. Я имею в виду, как http://www.server.com/imagescript.php?filename.jpg

Это очень просто, вы должны быть в состоянии сделать это сами. Или укажите более подробную информацию, что именно проблема для вас.

+1

Удостоверьтесь, что вы санировали свой путь. Кто-то может передать 'imagescript.php? I =/etc/php/php.ini' и начать чтение произвольных файлов из вашей ОС. – Blender

+0

Да +1, все переданное в параметрах должно использоваться с максимальной осторожностью. Это общее правило. –

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