我正在尝试从新的RETS CRMLS下载图片。
$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++;
}
}这不管用
发布于 2015-03-25 09:29:57
如果要从属性类下载图像,可以使用此rets函数。
$rets->GetObject("Property", "Photo", $listingId, "*", 1);这将以图像url的形式返回与特定listingId关联的图像数组。
如果您想以二进制映像文件的形式下载,那么可以使用最后一个参数作为'0',而不是'1'。“1”是用来获取公众形象Urls的
如果要从Media类下载图像,则可以使用与类相同的Media函数。首先,您应该从Property类获得清单Id。
发布于 2014-12-04 21:59:15
您的"file_put_contents“函数似乎试图解析来自GetObject查询的多部分/mime响应中的信息头。相反,您需要直接下载MediaUrls。我不是一个php向导,但是您会做一些更类似的事情:
$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组,您也在)。
https://stackoverflow.com/questions/26680769
复制相似问题