【发布时间】:2017-05-05 10:03:10
【问题描述】:
我正在做一个项目,这对我来说有点太难了... 我解释一下。
我需要用 PHP 解析 PDF 文件,以分析这些文件的内容。为此,我使用pdfparser.org 库。 我首先尝试像往常一样包含这个库,但没有任何结果。 在阅读了所有的互联网之后,由于这个库需要安装 Composer(并且在我的虚拟主机上我无法安装 Composer),我已经在我的 Windows PC 上应用了 Composer 进程。我得到了带有“autoload.php”文件的“供应商”文件夹。很好!!
然后,我尝试将其正确包含在 CodeIgniter 中。我选择的解决方案是:
-
在应用程序/库/中创建文件“Pdfparser.php”
class Pdfparser { public function __construct() { require_once APPPATH."/third_party/pdfparser.php"; } } -
然后,我在 application/third_party/ 中添加 PdfParser “Composer”应用程序,并在 /third_party/pdfparser.php 中添加:
if (!defined('pdfparser')) { define('pdfparser', dirname(__FILE__) . '/'); require(pdfparser . 'pdfparser/autoload.php'); } -
然后,我将此库添加到 CodeIgniter /application/config/autoload.php 为:
$autoload['libraries'] = array('pagination', 'form_validation','email','upload','pdfparser'); -
最后,我在 application/controllers/Admin.php 的函数中调用它:
$parser = new Pdfparser(); $pdf = $parser->parseFile(myfile.pdf); $full_text = $pdf->getText();(这4.代码块直接取自官方文档:http://www.pdfparser.org/documentation,刚刚改编)。
-
但是现在,我断网了……我有这个错误:
PHP Fatal error: Call to undefined method PdfParser::parseFile() in /path/application/controllers/Admin.php on line 3083 -
在查看了 CodeIgniter 文档后,我尝试将 Composer 自动加载器添加到核心......我在 application/config/autoload.php 中添加了:
$config['composer_autoload'] = APPPATH . "/third_party/pdfparser/autoload.php"; 当然,它不起作用。我迷路了……
【问题讨论】:
-
试试这样...
$config['composer_autoload'] = TRUE; -
Hikmat :我试过了,但仅此而已......然后,我尝试将我的 Composer 库直接添加到 application/vendor 文件夹中, $config['composer_autoload'] = TRUE;但没有比这更好的了……
标签: php codeigniter composer-php autoload