Как вы обнаруживаете, что эта функция пуста? (ничего не возвращает)
function last_uploads() { for($i = 0; $i < 20; ){ error_reporting(E_ALL); $feedURL = 'http://gdata.youtube.com/feeds/api/users/youtube/uploads?max-results=5'; $sxml = simplexml_load_file($feedURL); foreach ($sxml->entry as $entry) { $media = $entry->children('media', true); $url = (string)$media->group->player->attributes()->url; $thumb = (string)$media->group->thumbnail->attributes()->url; $watch = (string)$media->group->player->attributes()->url; $title = (string)$media->group->title; $height = esc_attr( ytio_embed_height_ret() ); $width = esc_attr( ytio_embed_width_ret() ); $query_string = parse_url(htmlspecialchars_decode($url), PHP_URL_QUERY); parse_str($query_string, $data); $dataurl = esc_attr( $data['v'] ); $index = strrpos($url, "&"); $url = substr($url, 0, $index); $index = strrpos($url, "watch"); $url = substr($url, 0, $index) . "v/" . substr($url, $index + 8, strlen($url) - ($index + 8)); echo '<iframe id="ytplayer" type="text/html" width="' . $width . '" height="' . $height . '" src="http://www.youtube.com/embed/' . $dataurl . '?rel=0&showinfo=1" frameborder="0" showinfo allowfullscreen></iframe><br class="clear" />'; } $i++; break; } }
Я пытался :
function last_uploads_ret() { if(empty( last_uploads() )) { echo 'Nothing found'; } else { echo last_uploads(); }
Но он возвращает оба видео и Nothing found
если канал загружает.
например, этот URL-адрес канала не имеет загрузок: http://gdata.youtube.com/feeds/api/users/mullenweg/uploads?prettyprint=true
Просто проверьте, существует ли <entry>
:
if (isset($sxml->entry)) { // has videos }