2015-07-15 3 views
1

Я использую this PHP imgur API. Мне нужно уметь отличать ли данный imgur ID образ или альбом, однако я не вижу возможности сделать это с помощью вышеупомянутой библиотеки.Проверьте, является ли URL imgur ссылкой на изображение или альбом

Например, с идентификатором arP2Otg (с URL-адресом https://imgur.com/gallery/arP2Otg), как бы я мог проверить, есть ли это изображение или альбом? В противном случае, я не могу знать, какой метод извлечения я имел в виду использовать:

$album = $client->api('album')->album($albumId); 

или

$image = $client->api('image')->image($imageId); 

Спасибо!

ответ

-1

URL-адреса альбомов содержат /a/, а URL-адреса изображений - нет.

Затем вы можете использовать strpos (предполагается, что ваш таинственный идентификатор на $theId):

if (strpos($theId, '/a/') !== false) { 
    $image = $client->api('image')->image($theId); 
    // do things with $image 
} else { 
    $album = $client->api('album')->album($theId); 
    // do things with $album 
} 
+2

Я не уверен, что этот ответ связан с вопросом;) Theres просто «ID», который, кажется, является частью сразу после «/ a /». Чтобы проверить «/ a /», вам понадобится весь URL. – masch

+2

Альбомы не всегда имеют '/ a /' в URL-адресе: http://imgur.com/gallery/TwBZm –

3

Вы можете сделать это без использования какой-либо библиотеки, так как их API довольно легко. Просто добавьте .json к URL, и вы получите всю информацию об этой конкретной ссылке:

$data = file_get_contents('https://imgur.com/gallery/arP2Otg.json'); 
$obj = json_decode($data); 
var_dump($obj->data->image->is_album); // will output "bool(false)" 

голову над here, чтобы увидеть всю информацию, возвращаемую их API.

+0

Я предпочел бы использовать библиотеку, которую я уже использую. Вы знаете, как я могу это сделать? –

Смежные вопросы