Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 20.06.2018, 12:11   #1
TimSer
 
Регистрация: 20.06.2018
Сообщений: 5
Репутация: 10
Сообщение php отображение картинки с ftp

Добрый день. Пытаюсь отобразить картинку с ftp сервера путь к картинке хранится в БД. Через сам браузер вхожу на ftp нормально отображает, на сайте не хочет, если долбануть по нему пкм и открыть в новой вкладке изображение то всё нормально. подскажите пожалуйста как это можно исправить.
Пробовал через print, echo но пока что никак.

База данных (postgresql 9.3), ftp (filezilla server 0.9.60), php(5.6), на сам сайт через openserver по ip захожу (не физический ip).

Код:

<?

$conn = pg_connect("host=188.235.219.214 port=5432 dbname=postgres user=postgres password=postgres");

$conn_ftp = "ftp://ftp:ftp@188.235.219.214/";

$SearchPubl = pg_query($conn, "SELECT * FROM \"News\"");

echo '<img src="'.$conn_ftp.''.pg_result($SearchPubl,'0',"\"Img\"").'" width="50" height="70" align="center">';

?>


https://yadi.sk/i/H0CKCB3W3Y9sUk
https://yadi.sk/i/-MVXemiL3Y9sW5
https://yadi.sk/i/VAUH1X5Z3Y9sWV
https://yadi.sk/i/YjHgz4CA3Y9sWf
https://yadi.sk/i/d6yhWzg13Y9sWu

Последний раз редактировалось TimSer; 20.06.2018 в 12:19.
TimSer вне форума   Ответить с цитированием
Старый 20.06.2018, 12:16   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 23,882
Репутация: 5228
По умолчанию

попробуйте все слеши в img src записать как /

и покажите, какая ссылочка получается в конечном HTML коде.
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 20.06.2018, 12:22   #3
TimSer
 
Регистрация: 20.06.2018
Сообщений: 5
Репутация: 10
По умолчанию

<img name="Ava" src="ftp://ftp:ftp@188.235.219.214/Admin/Primer/3iFAfB.jpg" width="50" height="70" align="center">
Вот такое html
TimSer вне форума   Ответить с цитированием
Старый 20.06.2018, 12:44   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 23,882
Репутация: 5228
По умолчанию

я подтверждаю, есть такая проблема.

даже банально взять такой файлик:
Код:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
  </head>

<body>
<img src="ftp://ftp.maths.tcd.ie/pub/images/Computer/star.jpg" />
</body>
</html>

чтобы увидеть, что картинка не отображается.
Браузеры в инструментах отладчика пишут, что "Subresource requests using legacy protocols (like `ftp:`) are blocked." в Яндекс.Браузер или "blockedrigin" в Хроме.
Т.о. это проблемы с безопасностью.
Как это победить - я не знаю.

можно, конечно, это попытаться обойти на PHP.
скачивайте картинки к себе на сервер и подставляйте в HTML.
либо скачивайте картинки и кодируйте их в base64 и полученный результат помещайте в HTML код (он, кстати, резко вырастет в размерах).
Serge_Bliznykov на форуме   Ответить с цитированием
Старый 20.06.2018, 12:49   #5
TimSer
 
Регистрация: 20.06.2018
Сообщений: 5
Репутация: 10
По умолчанию

В base64 я тоже пробовал но там зачастую выходили рандомные буквы цифры(
На файлзиле не включен у меня TLS может ли это как то повлиять на это?
а можно ли как то с ftp в кэш браузера или куки копировать и от туда выводить?

Последний раз редактировалось TimSer; 20.06.2018 в 12:53.
TimSer вне форума   Ответить с цитированием
Старый 20.06.2018, 18:05   #6
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,202
Репутация: 896

icq: 303-206-418
skype: ad-soft.info
По умолчанию

ну ваще фтп как-то не предназначен для оперативной отдачи содержимого - так сказать на лету,
что мешает через http(s) ?

был один локальный проект - юзали картинки через фтп, наскока помню - все дело было в настройках ftp сервера

Последний раз редактировалось ADSoft; 20.06.2018 в 18:07.
ADSoft вне форума   Ответить с цитированием
Старый 28.06.2018, 20:24   #7
TimSer
 
Регистрация: 20.06.2018
Сообщений: 5
Репутация: 10
По умолчанию

С настройками ftp всё оказалось нормально, путём проб и ошибок заработал такой скрипт
Код:

function data_url($file, $mime) 
{  
  $contents = file_get_contents($file);
  $base64   = base64_encode($contents); 
  return ('data:' . $mime . ';base64,' . $base64);
}

echo '3) <br> <img src="'.data_url($file,'image/jpg').'"/><br>';


Последний раз редактировалось TimSer; 28.06.2018 в 20:35.
TimSer вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
картинки, загруженные по ftp, не отображаются в библиотеке olgastaf1 WordPress и другие CMS 4 24.03.2017 17:23
отображение картинки по ссылке johny_03 Microsoft Office Excel 1 12.04.2014 01:08
отображение картинки ts-alan ASP.NET 1 16.12.2013 12:42
отображение картинки scriptolog Общие вопросы Delphi 16 25.11.2012 20:04
Отображение картинки на кнопке WPF. Загрузка картинки из ресурсов. Проблема с Uri. Casper-SC Общие вопросы .NET 0 27.06.2010 23:11


11:01.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru