"Class 'App\Http\Controllers\getID3' not found" 尝试在 Laravel 5 中包含 PHP 文件时

"Class 'App\Http\Controllers\getID3' not found" when trying to include a PHP file in Laravel 5

我将 getid3 库与 Laravel 项目一起使用。 我在 app/ 目录中创建了一个名为 "includes" 的文件夹,并在其中创建了一个名为 getid3 的文件夹,其中包含一堆 php 文件,我包括了 getid3.php 位于该目录中的文件。 这是 Github 上的文件内容和库:- https://github.com/JamesHeinrich/getID3/blob/master/getid3/getid3.php

在控制器中,当我尝试实例化该文件中定义的 getID3 class 时,出现以下错误:-

FatalErrorException in ApiV1.php line 217:
Class 'App\Http\Controllers\getID3' not found

这是控制器中的代码块,我试图在其中实例化 class

ob_start();
if ($fp_output = fopen($FilenameOut, 'wb')) {

    ob_end_clean();
    // Initialize getID3 engine
    $getID3 = new  \getID3;
    foreach ($FilenamesIn as $nextinputfilename) {

        $CurrentFileInfo = $getID3->analyze($nextinputfilename);
        if ($CurrentFileInfo['fileformat'] == 'mp3') {

如何解决这个错误?

你的class已经定义在根命名空间中,你需要在class名称前添加一个\。否则php会认为它与当前class在同一个命名空间,当前App\Http\Controllers.

你应该这样做:

$id3 = new \getID3;