如何在CodeIgniter控制器中调用此函数?

时间:2010-05-28 23:04:32

标签: php codeigniter youtube youtube-api

我已经有了这段代码,但我不确定是否可以使用它:

/**
 * Function: youtube data grabber
 *
 * @description :
 * @param  $ : video code, url type (embed/url)
 * @return : data array
 * @author : Mamun.
 * @last -modified-by: Mamun.
 */

if (! function_exists('youtube_data_grabber'))
        {

                function youtube_data_grabber($video_code, $link_type = "embed")
                {
                        if ($video_code != '')
                        {
                            if ($link_type == "embed")
                            {
                                $splited_data = explode("=",$video_code);
                                $video_unique_code = substr(strrchr($splited_data[4],"/"),1,-strlen(strrchr($splited_data[4],"&")));

                            }
                            else if ($link_type == "url")
                            {
                                $splited_data = explode("=",$video_code);
                                $video_unique_code = substr($splited_data[1],0,-strlen(strrchr($splited_data[1],"&")));
                            }
                            else
                            {
                                return;
                            }

                                // set feed URL
                                $feedURL = 'http://gdata.youtube.com/feeds/api/videos/'.$video_unique_code;

                                // read feed into SimpleXML object
                                $sxml = simplexml_load_file($feedURL);

                            return $sxml;
                        }

                }
        } // End Youtube Function

我不确定如何激活它是我想说的。我把它放在控制器中,它在我的一个页面的函数内。我没有任何语法错误。我只是不知道如何唤醒它并让它工作。我以为我可以放youtube_data_grabber('http://www.youtube.com/watch?v=LAcrFym10ZI', 'url');,但那不起作用。

我从this blog获得了代码,并且我的zend功能正常运行。我之前测试过,没有错误。我只是遇到了这个youtube部分的问题。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

该代码应该放在不在控制器中的帮助器或插件中。该页面上代码的第一部分应该在您的控制器中。你粘贴的只是一个替代版本。

答案 1 :(得分:3)

将代码保存到application/helpers/youtube_helper.php,然后在控制器中继续拨打$this->load->helper('youtube')

只有这样,您的youtube_data_grabber()功能才可用。