0

我是codeigniter的菜鸟。我使用外部类文件来获取音频文件的长度。我将文件放在应用程序/库目录中。在谷歌搜索和阅读文档之后,我尝试了两件事来访问我在 codeigniter 问题下提到的库函数。

来自外部库文件的工作演示

 require ('classAudioFile.php');
 $filename = "40f11852c2314cdf1d06308f07de3b1c.mp3";
 $AF = new AudioFile;
 $AF->loadFile($filename);
 echo $AF->wave_length;

CodeIgniter 问题

 $filename = "./uploads/audio_files/347f21502e9b27fac4707b07c3c15eb7.mp3";
 $CI =& get_instance();
 $CI->load->library('AudioFile');
 $CI->AudioFile->loadFile($filename);

 $filename = "./uploads/audio_files/347f21502e9b27fac4707b07c3c15eb7.mp3";
 $this->load->library('AudioFile');
 $this->AudioFile->loadFile($filename);

在第 149 行的 D:\wamp\www\webcartz\application\modules\playlist\controllers\admin.php 中的非对象上调用成员函数 loadFile(),这是实际错误。. 任何机构都可以帮忙。我试图在控制器和视图文件中调用它。

4

1 回答 1

3

要使一切正常化,请尝试以下操作:

  1. 您放入库文件夹中AudioFile.php,使文件名全部小写,如audiofile.php. 如果它被调用classAudioFile.php,将其重命名为audiofile.php
  2. 检查. AudioFile_audiofile.php
  3. AudioFilein更改load->library为全部小写
  4. AudioFilein更改$this->AudioFile->为全部小写
  5. 如果它仍然不起作用,请将类(不是文件)的名称更改为Audiofile、大写 A、小写 f。

此外,类中应该有一个默认的无参数构造函数Audiofile。像这样:

public function __construct()
{
    // you can put some code here if you want
}
于 2012-06-21T11:06:07.817 回答