このライブラリを使用したい: http://www.princexml.com/これは、HTML/XML ファイルから PDF ファイルを作成するのに役立ちます。
PHP zip ファイルをhttp://www.princexml.com/download/wrappers/からダウンロードし、codeigniter ディレクトリの "libraries" フォルダーに追加しました。私が知っていることから、ライブラリをインクルード/呼び出して、その関数を定期的に使用するだけです。 https://ellislab.com/codeigniter/user-guide/general/creating_libraries.html
私は WAMP (Windows) を使用しているので
C:\Program Files (x86)\Prince\engine\bin
、prince.exe が見つかった場所にエイリアスを作成し、「prince」と呼びました (http://localhost/prince
)。
私のコントローラーにこれがありました:
public function banana(){
$this->load->library('prince');
$prince = new Prince('http://localhost/prince/prince.exe');
$xmlPath = 'http://localhost/temp/test.html';
$this->prince->convert_file_to_passthru($xmlPath);
}
そして、これらのエラーが発生しました:
PHP エラーが発生しました
重大度: 警告
メッセージ: Prince::__construct() の引数 1 がありません。C:\wamp\www\tools\system\core\Loader.php の 1247 行で呼び出され、定義されています
ファイル名: libraries/prince.php
ライン番号: 48
バックトレース:
ファイル: C:\wamp\www\tools\application\libraries\prince.php 行: 48 関数: _error_handler
ファイル: C:\wamp\www\tools\application\controllers\aso\Cli_kas.php 行: 304 関数: ライブラリ
ファイル: C:\wamp\www\tools\index.php 行: 292 関数: require_once
PHP エラーが発生しました
重大度: 通知
メッセージ: 未定義の変数: exePath
ファイル名: libraries/prince.php
ライン番号: 50
バックトレース:
ファイル: C:\wamp\www\tools\application\libraries\prince.php 行: 50 関数: _error_handler
ファイル: C:\wamp\www\tools\application\controllers\aso\Cli_kas.php 行: 304 関数: ライブラリ
ファイル: C:\wamp\www\tools\index.php 行: 292 関数: require_once
PHP エラーが発生しました
重大度: 警告
メッセージ: proc_open(): CreateProcess が失敗しました。エラー コード - 87
ファイル名: libraries/prince.php
ライン番号: 796
バックトレース:
ファイル: C:\wamp\www\tools\application\libraries\prince.php 行: 796 関数: proc_open
ファイル: C:\wamp\www\tools\application\libraries\prince.php 行: 528 関数: convert_internal_file_to_passthru
ファイル: C:\wamp\www\tools\application\controllers\aso\Cli_kas.php 行: 311 関数: convert_file_to_passthru
ファイル: C:\wamp\www\tools\index.php 行: 292 関数: require_once
キャッチされていない例外が発生しました
タイプ: 例外
メッセージ: "" --structured-log=buffered " http://localhost/temp/test.html " -o -の実行に失敗しました
ファイル名: C:\wamp\www\tools\application\libraries\prince.php
ライン番号: 814
バックトレース:
ファイル: C:\wamp\www\tools\application\libraries\prince.php 行: 528 関数: convert_internal_file_to_passthru
ファイル: C:\wamp\www\tools\application\controllers\aso\Cli_kas.php 行: 311 関数: convert_file_to_passthru
ファイル: C:\wamp\www\tools\index.php 行: 292 関数: require_once
CodeIgniter から外部ライブラリを実行するのはこれが初めてです。何をすればよいかわかりません。また、codeigniter のドキュメントにはあまり多くの情報が記載されていません。
ALIAS の作成がうまくいかなかったので、これがの変数を認識しない理由だと思いますexePath
。
すべての "Prince" ライブラリを CodeIgniter で動作させるにはどうすればよいですか?