我目前正在做一些需要从RETS中获取数据的工作,在那里我可以从RETS中提取信息,但无法获得图像。我尝试使用以下代码:
$photos = $rets->GetObject("Property", "Photo", $record['L_ListingID'], "*", 1);
if ($photos !== null) {
foreach ($photos as $photo){
var_dump ($photo);
}
}
并收到如下结果:
object(PHRETS\Models\Object)#71 (10) {
["content_type":protected]=>
string(8) "text/xml"
["content_id":protected]=>
string(9) "261860123"
["object_id":protected]=>
string(1) "1"
["mime_version":protected]=>
NULL
["location":protected]=>
NULL
["content_description":protected]=>
NULL
["content_sub_description":protected]=>
NULL
["content":protected]=>
string(71) "
"
["preferred":protected]=>
NULL
["error":protected]=>
object(PHRETS\Models\RETSError)#73 (2) {
["code":protected]=>
int(0)
["message":protected]=>
string(0) ""
}
}
正如代码所暗示的那样,我只能将“content_type /xml”作为对象的文本返回,而我应该得到的是一个jpg文件。如何才能得到图像而不得到文本结果呢?
发布于 2016-11-19 02:18:31
如果你能得到MLS号码,这将帮助你解决问题。
$photo = $rets->GetObject('Property', 'Photo', $mls, 1, 1);
$mls是mls编号,第一个'1‘得到第一张图片,第二个’1‘得到URL。如果您希望下载实际的图像,则第二个“1”需要为“0”。如果您将第一个“1”设为“*”,那么您将获得该MLS的所有图像。
发布于 2016-11-19 10:57:00
要进行测试,请从您的mls中获取一个已知的mls编号,然后输入它,如下所示。
获取所有图片的url可以是: 100+ $photos = $rets->GetObject("Property","Photo",123456789,"*",1);
获取第一张图片$photos = $rets->GetObject("Property","Photo",123456789,"1",1);
获取第五张图片$photos = $rets->GetObject("Property","Photo",123456789,"5",1);
获取所有物理图像可以是100+ $photos = $rets->GetObject("Property","Photo",123456789,"*",0);
获取第一张物理图像$photos = $rets->GetObject("Property","Photo",123456789,"1",1);
获取第五张物理图像$photos = $rets->GetObject("Property","Photo",123456789,"5",1);
然后,您必须将图像URL存储在数据库中,如果您要获取实际的图像,则必须将它们存储在目录中。
如果你提供了关于$record'L_ListingID‘的更多信息,你是如何得到它的,我将能够告诉你它是否包含MLS编号,因为它必须能够完成你正在尝试做的事情……
https://stackoverflow.com/questions/37736448
复制相似问题