0

私はコードイグナイターの初心者です。オーディオ ファイルの長さを取得するために、外部クラス ファイルを使用しました。ファイルを application/libarary ディレクトリに置きました。グーグルでドキュメントを読んだ後、codeigniterの問題で言及したライブラリ関数にアクセスするために2つのことを試しました。

外部ライブラリ ファイルからの動作デモ

 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);

Call to a member function loadFile () on a non-object in D:\wamp\www\webcartz\application\modules\playlist\controllers\admin.php 行 149 を取得していますが、これは実際のエラーです。. どんな体でも助けてください。Controller と View ファイルの両方で呼び出そうとしました。

4

1 に答える 1

3

すべてを正規化するには、次のことを試してください。

  1. ライブラリ フォルダにAudioFile.php入れる場合は、ファイル名をすべて小文字にして、audiofile.php. と呼ばれる場合はclassAudioFile.php、単純に名前を変更しますaudiofile.php
  2. にクラスがあることを確認AudioFileaudiofile.phpます。
  3. をすべて小文字に変更AudioFileしますload->library
  4. をすべて小文字に変更AudioFileします$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 に答える