首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从新的RETS CRMLS下载图像

如何从新的RETS CRMLS下载图像
EN

Stack Overflow用户
提问于 2014-10-31 17:57:38
回答 2查看 1.9K关注 0票数 0

我正在尝试从新的RETS CRMLS下载图片。

代码语言:javascript
运行
复制
$photos = $rets->SearchQuery("Media","Media",$lid, array('Limit' => 'none', 'Select' => "MediaOrder,MediaURL"));
foreach ($photos as $photo)
{
  if ($photo['Success'] == true)
  {
    file_put_contents("../images/{$photo['Content-ID']}-{$photo['Object-ID']}.jpg", $photo['Data']);
    $count++;
  }   
}

这不管用

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-25 09:29:57

如果要从属性类下载图像,可以使用此rets函数。

代码语言:javascript
运行
复制
$rets->GetObject("Property", "Photo", $listingId, "*", 1);

这将以图像url的形式返回与特定listingId关联的图像数组。

如果您想以二进制映像文件的形式下载,那么可以使用最后一个参数作为'0',而不是'1'。“1”是用来获取公众形象Urls的

如果要从Media类下载图像,则可以使用与类相同的Media函数。首先,您应该从Property类获得清单Id。

票数 1
EN

Stack Overflow用户

发布于 2014-12-04 21:59:15

您的"file_put_contents“函数似乎试图解析来自GetObject查询的多部分/mime响应中的信息头。相反,您需要直接下载MediaUrls。我不是一个php向导,但是您会做一些更类似的事情:

代码语言:javascript
运行
复制
 $photoUrls = $rets->SearchQuery("Media","Media",$lid, array('Limit' => 'none', 'Select' => "MediaOrder,MediaURL"));

 while ($photo = $rets->FetchRow($photoUrls)) {

    file_put_contents("../images/{$lid}-{$photo['MediaOrder']}.jpg", file_get_contents($photo['MediaURL']));

  }   

 $rets->FreeResult($photoUrls);

另外,您可能希望将搜索限制在“图像”的MediaTypes上,这样就不会获得其他二进制数据或文档,比如虚拟浏览URL或PDF(参见此MLS的google组,您也在)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26680769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档