PHP 包括 class 不工作
PHP include class not working
我正在尝试在我的项目中使用 php class 插件。 (Windows)
https://github.com/mhor/php-mediainfo
这是一个非常基本的问题,但我不知道如何解决这个问题。
我的代码:
<?php
include '/mediainfo/MediaInfo.php';
$mediaInfo = new MediaInfo();
我得到这个错误:
Fatal error: Class 'MediaInfo' not found in index.php on line 15
/mediainfo/MediaInfo.php:
<?php
namespace Mhor\MediaInfo;
use Mhor\MediaInfo\Builder\MediaInfoCommandBuilder;
use Mhor\MediaInfo\Container\MediaInfoContainer;
use Mhor\MediaInfo\Parser\MediaInfoOutputParser;
class MediaInfo
{
/**
* @param $filePath
* @return MediaInfoContainer
*/
public function getInfo($filePath)
{
$mediaInfoCommandBuilder = new MediaInfoCommandBuilder();
$output = $mediaInfoCommandBuilder->buildMediaInfoCommandRunner($filePath)->run();
$mediaInfoOutputParser = new MediaInfoOutputParser();
$mediaInfoOutputParser->parse($output);
return $mediaInfoOutputParser->getMediaInfoContainer();
}
}
我不知道 'Mhor\MediaInfo\'。我刚刚从 Github 下载源代码并将其解压缩到根目录 www /mediainfo:
- /
- /index.php
- /mediainfo/...(所有文件和文件夹)
我尝试了其他一些 class 并得到了同样的错误。
在尝试了 Tanmay Kumar 的建议后:
$mediaInfo = new \Mhor\MediaInfo\MediaInfo();
错误已修复,但下一行:
$mediaInfoContainer = $mediaInfo->getInfo('video.mp4');
给出:
Fatal error: Class 'Mhor\MediaInfo\Builder\MediaInfoCommandBuilder' not found
将 $mediaInfo 替换为:-
$mediaInfo = new \Mhor\MediaInfo\MediaInfo();
完整正确的方法如下:
include '/mediainfo/MediaInfo.php';
use \Mhor\MediaInfo\MediaInfo;//now you can directly call class on it's name
$mediaInfo = new MediaInfo();
如果您再遇到问题,请告诉我:)
我正在尝试在我的项目中使用 php class 插件。 (Windows)
https://github.com/mhor/php-mediainfo
这是一个非常基本的问题,但我不知道如何解决这个问题。
我的代码:
<?php
include '/mediainfo/MediaInfo.php';
$mediaInfo = new MediaInfo();
我得到这个错误:
Fatal error: Class 'MediaInfo' not found in index.php on line 15
/mediainfo/MediaInfo.php:
<?php
namespace Mhor\MediaInfo;
use Mhor\MediaInfo\Builder\MediaInfoCommandBuilder;
use Mhor\MediaInfo\Container\MediaInfoContainer;
use Mhor\MediaInfo\Parser\MediaInfoOutputParser;
class MediaInfo
{
/**
* @param $filePath
* @return MediaInfoContainer
*/
public function getInfo($filePath)
{
$mediaInfoCommandBuilder = new MediaInfoCommandBuilder();
$output = $mediaInfoCommandBuilder->buildMediaInfoCommandRunner($filePath)->run();
$mediaInfoOutputParser = new MediaInfoOutputParser();
$mediaInfoOutputParser->parse($output);
return $mediaInfoOutputParser->getMediaInfoContainer();
}
}
我不知道 'Mhor\MediaInfo\'。我刚刚从 Github 下载源代码并将其解压缩到根目录 www /mediainfo:
- /
- /index.php
- /mediainfo/...(所有文件和文件夹)
我尝试了其他一些 class 并得到了同样的错误。
在尝试了 Tanmay Kumar 的建议后:
$mediaInfo = new \Mhor\MediaInfo\MediaInfo();
错误已修复,但下一行:
$mediaInfoContainer = $mediaInfo->getInfo('video.mp4');
给出:
Fatal error: Class 'Mhor\MediaInfo\Builder\MediaInfoCommandBuilder' not found
将 $mediaInfo 替换为:-
$mediaInfo = new \Mhor\MediaInfo\MediaInfo();
完整正确的方法如下:
include '/mediainfo/MediaInfo.php';
use \Mhor\MediaInfo\MediaInfo;//now you can directly call class on it's name
$mediaInfo = new MediaInfo();
如果您再遇到问题,请告诉我:)