我正在从Instagram和Facebook中提取2张图片。对于两者,我最终得到了如下所示的数组,我将它组合并存储在MySQL中。
[1] => Array
(
[id] => 10151385447249771
[small] => http://sphotos-b.ak.fbcdn.net/hphotos-ak-prn1/s320x320/602882_10151385447249771_875867185_n.jpg
[large] => http://sphotos-b.ak.fbcdn.net/hphotos-ak-prn1/s600x600/602882_10151385447249771_875867185_n.jpg
[date] => 1359526678
[date_display] => 5:17 pm, 30 Jan 2013
[name] => Something cool
[link] => http://www.facebook.com/photo.php?fbid=10151385447249771&set=a.10151385444664771.496088.112462694770&type=1
[caption] => Photo by Jimbo James
[type] => facebook
)
然后我执行以下操作:
$photos = array_merge($facebook_photos,$instagram_photos);
usort($photos, array($this, "sort_photos"));
$photos = array_reverse($photos);
如果我在这里输出数组,那很好。我也可以序列化和反序列化,这很好
然而,在我将它存储在MySQL中然后将其拉出并反序列化后,我得到'偏移'错误消息。
return mb_unserialize($feed['data']);
public function mb_unserialize($serial_str) {
$out = preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str );
$out = unserialize($out);
return json_decode(stripslashes(json_encode($out)), true);
}
我正在使用BLOB列来存储数据。我尝试过base64编码/解码,也存储为JSON。还有其他想法吗?
答案 0 :(得分:0)
简单的解决方案:BLOB不够大。我把它变成了LONGBLOB并且瞧。