我正在从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.
}
}
请看一下代码。我想要下载上述代码的其他部分的图像。
发布于 2015-09-30 21:45:24
不幸的是,RETS协议不是为处理图像而设计的,整个过程中有相当多的陷阱。
GetObject
获取图像本身。但是,在此期间,代理可能已经删除了您从中获取数据的位置上的image.所以,底线是,您的代码可能没问题,但是请求的图像实际上已经被删除了,因为您请求了该图像的元数据。
如果您的流程总体上工作正常,但缺少一个图像,那么它很可能会永远消失。理论上,您应该运行第二个进程并尝试获取实际的元数据。如果也没有返回,您可以放心地假定此图像的记录已经消失。
发布于 2015-11-20 06:13:36
一些房地产委员会允许代理商上传损坏的照片,甚至是无效的文件(如PDF)。房地产经纪人犯下的这些错误错误地更新了RETS提要,以指示存在有效的照片,但是当您尝试下载它时,它失败了。
只需删除您的else
语句。
https://stackoverflow.com/questions/32819439
复制相似问题