Я загружаю изображения собственности с сервера MLS RETS. Когда я использую GetObject
метод для загрузки изображений, иногда Getobject
Метод не возвращает параметр успеха, тогда изображение не загружается на локальный сервер. Есть какое-то решение по этому поводу?
Вот мой код:
$photos = $rets->GetObject("Property", "Photo", $idata['propertymlsid'], "*", 0);
foreach ($photos as $photo)
{
$imgval="";
$imgval="{$photo['Content-ID']}-{$photo['Object-ID']}.jpg";
if ($photo['Success'] == true)
{
@file_put_contents("photos/{$photo['Content-ID']}-{$photo['Object-ID']}.jpg", $photo['Data']);
@mysql_query("insert into tableName (pro_mlsid,photos_name,image_date)values('".$idata['propertymlsid']."','".$imgval."','".date('Y-m-d h:i:s')."')");
}else
{
// in this section i want to download image. please suggest what to do here? . i have record for this image in database for but could not download it.
}
}
пожалуйста, пройдите код Я хочу скачать изображение в другом разделе кода выше.
К сожалению, протокол RETS не предназначен для обработки изображений, и есть целый ряд подводных камней во всем процессе.
Когда элемент в базе данных удален, протокол RETS не может отразить это изменение. Для списков это очень редкое событие, но не для изображений. В любом случае просто ошибка, что запрошенный объект не был найден или не существует. Другими словами, вы должны предположить, что объект был удален, и вы должны обновить свои собственные записи.
Изображения часто обновляются агентами и могут быть удалены или изменены в порядке.
Процесс загрузки изображения в два раза. а) сначала нужно получить запись метаданных, а затем б) само изображение с GetObject
, Тем не менее, тем временем агент, возможно, удалил изображение.
В зависимости от того, откуда вы берете данные, между двумя событиями может быть большая задержка. Например, IDX обычно является вторичной базой данных по сравнению с доступом к каналу RETS из самого MLS.
Итак, суть в том, что ваш код, вероятно, в порядке, но запрошенное изображение фактически удалено, так как вы запросили метаданные для этого изображения.
Если ваш процесс в целом работает, а изображение отсутствует, то оно может исчезнуть навсегда. Теоретически вы должны запустить второй процесс и попытаться получить фактические метаданные. Если нет возврата, вы можете смело предположить, что запись для этого изображения исчезла.
Некоторые доски объявлений по недвижимости позволяют агентам загружать испорченные фотографии или даже недействительные файлы (например, PDF-файлы). Эти ошибки, сделанные риэлторами, неверно обновляют ленту RETS, чтобы указать, что существует действительная фотография, но при попытке загрузить ее не удается.
Просто удалите свой else
заявление.