OK,这里是我的困境:PHPFlickr脚本...这可以更清洁/更精简吗?
我读过各地有多少人希望能够以显示一组使用PHPFlickr来自Flickr的图片,但哀叹如何进行的photosets API不把个人照片说明。有些人试图设置他们的PHP,因为当脚本在页面上组装页面时,它会拉取每张照片的描述。然而,该方法表明它可能会有多慢和低效率。
我在其他地方发现了一个用照片ID和描述创建一串逗号分隔值的想法。我会将它存储在MySQL数据库中,然后在我的脚本在页面上组装图库时调用它。我会使用爆炸来创建一个照片ID和它的描述数组,然后调用它来填补空白......因此更少的API调用和更快的页面。
所以在后台管理员中,我有一个表单,在其中为图库设置了信息,并且我手上了一个Set ID。然后该脚本会通过并创建这个分隔值的字符串(“|〜|”作为分隔符)。以下是我想出了:
include("phpFlickr.php");
$f = new phpFlickr("<api>");
$descArray = "";
// This will create an Array of Photo ID from the Set ID.
// $setFeed is the set ID brought in from the form.
$photos = $f->photosets_getPhotos($setFeed);
foreach ($photos['photoset']['photo'] as $photo) {
$returnDesc = array();
$photoID = $photo['id'];
$rsp = $f->photos_getInfo($photoID);
foreach ($rsp as $pic) {
$returnDesc[] = htmlspecialchars($pic['description'], ENT_QUOTES);
}
$descArray .= $photoID."|~|".$returnDesc[0]."|~|";
}
然后将字符串$ descArray将被放置在与从形式带来的其他信息,将其放入数据库MySQL的字符串。
我的第一个问题是我正确使用第二个foreach循环来获取这些描述?我尝试了以下遍布网络的其他示例,但并未使用它们,但它们从未工作过。当我提出第二个foreach时,它就起作用了。我应该做其他事吗?
我注意到返回的数据是两个条目。一个是描述,另一个只是一个“o”...因此数组$ returnDesc,所以我只能得到我想要的一个字符串,而不是其他字符串。
第二个问题是,如果我让这个过于复杂或没有。我喜欢尝试学习编写更清晰/更精简的代码,并且正在寻找意见。
有关改进的建议值得欢迎。先谢谢你。