Если результат содержит одну строку, цикл не нужен. А судя по коду первого сообщения, даже если результатов несколько, переменная heredoc всё равно переопределится.
Если надо вернуть несколько строк без цикла - mysqli_fetch_all
arimanecro пишет:
и первый способ бессмысленный
Такой подход с heredoc и с мешаниной php и html кода в принципе не верный. Надо в таком случае использовать шаблонизаторы.
arimanecro пишет:
он не позволяет использовать функцию, как она задумывалась
Откуда ж мне знать, для чего она там кем-то задумывалась? Каков был вопрос, на такой и ответил.
на момент определения переменной $heredoc, откуда берётся переменная $row? какое у неё значение? Должен вылезти notice, а вместо переменной берётся null
arhon88 пишет:
а как инициализировать?
если написать $heredoc = '';
то он и будет выводить в цикле пустоту.
Вариант 1. Переменную определять внутри функции. Тогда надо использовать global или пусть сама функция передаёт значение переменной. Ну или передавать ссылку на переменную.
Вариант 2. Пусть функция возвращает массив значений, а уже вне функции мы определим переменную.
Алгоритм действий таков:
1. Настраиваем curl на сохранение получаемых кук
2. Получаем страницу https://realty[dot]yandex[dot]ru/offer/2566517
3. Теперь нужно спарсить значения, чтоб потом их передать
params[offerId] - можно взять из url - в данном случае значение 2566517
params[hashes][] - нечто закодированное base64, на странице располагается в атрибуте data-hash, нужна регулярка, чтоб из этого
CURL конечного сервера просто некуда обратиться, IP динамика
Так, теперь по порядку
Насколько я понял, логика работы скриптов такова
Есть какой-то сервер1, который скачивает картинку, потом передаёт её серверу2.
У сервера2 динамический ip?
Если всё так, то первым должен подключиться сервер2 к серверу1, сервер1 начинает скачивание и потом отдаёт данные серверу2, который в итоге сохраняет картинку у себя. (Добавление)
pps88 пишет:
над этими потоками
Поток к файлу в принципе невозможно передать от скрипта к скрипту.
бинарные данные возможно передать строкой, только если их перед этим закодировать, например, base64. Но тогда размер передаваемых данных возрастёт в разы
только, если не ошибаюсь, в принимающем скрипте файл будет лежать в массиве $_FILES (Добавление)
так, стоп
зачем передавать поток fh2 с одного скрипта на другой?
пусть принимающий скрипт сам создаёт новый поток и сохраняет файл (Добавление)
принимающий скрипт должен сохранять файл примерно так