SHOW:
|
|
- or go back to the newest paste.
| 1 | <?php | |
| 2 | ||
| 3 | /** | |
| 4 | * 呼叫 flickr.people.getPublicPhotos | |
| 5 | * @param string $user_id 要傳回照片的user id | |
| 6 | * @return string json格式的字串 | |
| 7 | */ | |
| 8 | function getPublicPhotos($user_id) {
| |
| 9 | $ch = curl_init(); | |
| 10 | //產生API網址,有部分參數在此寫死,例如輸出格式這邊是直接設定為JSON | |
| 11 | $api_key = '3dd490cec911376eb3356af84efc05e6'; | |
| 12 | $url = "https://api.flickr.com/services/rest/?method=flickr.people.getPublicPhotos&api_key={$api_key}&user_id={$user_id}&format=json&nojsoncallback=1";
| |
| 13 | $options = array( | |
| 14 | CURLOPT_URL => $url, | |
| 15 | CURLOPT_HEADER => false, | |
| 16 | CURLOPT_RETURNTRANSFER => true, | |
| 17 | //CURLOPT_SSL_VERIFYHOST => 0, | |
| 18 | //CURLOPT_SSL_VERIFYPEER => 0, | |
| 19 | ); | |
| 20 | curl_setopt_array($ch, $options); | |
| 21 | $result = curl_exec($ch); | |
| 22 | curl_close($ch); | |
| 23 | return $result; | |
| 24 | } | |
| 25 | ||
| 26 | //檢查是否有GET的user_id參數 | |
| 27 | - | if (isset($_GET['user_id'])) {
|
| 27 | + | if (isset($_GET['user_id']) and !empty($_GET['user_id'])) {
|
| 28 | $user_id = $_GET['user_id']; | |
| 29 | $data = getPublicPhotos($user_id); | |
| 30 | $json = json_decode($data, true); | |
| 31 | - | $photos = $json['photos']; |
| 31 | + | $photos = $json['photos']['photo']; |
| 32 | } else {
| |
| 33 | $photos = array(); | |
| 34 | } | |
| 35 | ?> | |
| 36 | ||
| 37 | <html> | |
| 38 | <head></head> | |
| 39 | <body> | |
| 40 | <form method="get"> | |
| 41 | <label>user_id <input type="text" name="user_id" value="<?php echo isset($_GET['user_id']) ? $_GET['user_id'] : ''; ?>"></label> | |
| 42 | <input type="submit"> | |
| 43 | </form> | |
| 44 | <div> | |
| 45 | <?php | |
| 46 | - | foreach ($photos['photo'] as &$photo) {
|
| 46 | + | foreach ($photos as &$photo) {
|
| 47 | //產生flickr的連結 | |
| 48 | $url = "https://www.flickr.com/photos/{$photo['owner']}/{$photo['id']}";
| |
| 49 | //產生照片的連結 | |
| 50 | $img = "http://www.flickr.com/photos/{$photo['id']}_{$photo['secret']}.jpg";
| |
| 51 | //另一種產生照片連結的方法 | |
| 52 | //$img = "https://farm{$photo['farm']}.staticflickr.com/{$photo['server']}/{$photo['id']}_{$photo['secret']}.jpg";
| |
| 53 | echo "<a href=\"$url\" target=\"_blank\"><img src=\"{$img}\" border=\"0\"></a>\n";
| |
| 54 | } | |
| 55 | ?> | |
| 56 | </div> | |
| 57 | </body> | |
| 58 | </html> |