緊急の助けを! Codeigniter は PHPExcel を呼び出すことができません
私は Codeigniter を初めて使用します。ファイル アップロード クラスを使用して CSV または Excel ファイルをアップロードし、同時に PHPExcel を使用してコンテンツを読み取り、データベースにロードしました。私のプログラムは次のとおりです:
controllers/products.php ファイル:
$memsn = $this->session->userdata('MEMSN');
$this->load->library('Excel_Read_Operat' ) ;
$groups = array('購入者', '販売者', '販売者'); session->set_flashdata('message', $this->lang->line("access_denied" ));
$data['message'] = (validation_errors() ? validation_errors() : $this-> session->flashdata('message'));
redirect('module=products', 'refresh' );
}
$this->form_validation->set_rules('userfile', $this-> lang->line("upload_file"), 'xss_clean'); ;form_validation->run() == true)
{
if ( isset($_FILES["userfile"] )){
$this->load->library('upload_photo');
$dest_dir = 'uploads/'.$memsn.'/';
if($this->upload_photo->direct_is_exists($dest_dir)){
}else{
redirect("module=products&view=upload_csv", 'リフレッシュ');
$config['upload_path' ] = $dest_dir;
$config['max_size'] = '2048'; $config['overwrite'] = TRUE;
$old_file_name = $_FILES["userfile"]["name"]
$new_file_name = $this->getSystemTime().$_FILES["userfile"][" name"];
$config['file_name'] = $ new_file_name;
//初期化
$this->upload_photo->initialize($config);
if( ! $this->upload_photo-> ;do_upload()){
//エラーをエコーする
$error = $this->upload_photo->display_errors();
$this->session->set_flashdata('message', $error.$ dest_dir);
redirect("module=products&view=upload_csv", 'refresh');
if ($this->upload_photo->file_ext == '.csv') {
$csv = $ this->upload_photo->file_name;
Excel_Read_Operat ::initialized($dest_dir.$new_file_name)
$phpexcel_csv_arr_table = Excel_Read_Operat::GetArrTable_CVS();
if(!empty($phpexcel_csv_arr_table)) {
$keys = array('code','name' ,'category_id','STATUS','DESCRIPTION','DECDESCTION','CUSTPRICE','LENGTH','HEIGHT','WIDTH','STATUS' );
$final = array();
foreach ($phpexcel_csv_arr_table as $row_csv_value){
$final[] = array_combine($keys, $value);
foreach($final as $csv_pr); ($this->products_model->getProductByCode($csv_pr ['code'])) {
$this->session->set_flashdata('message', $this->lang->line(" check_product_code")." (".$csv_pr['code' ]."). ".$this->lang->line("code_already_exist"));
redirect("module=products&view=upload_csv") fresh');
}
}
}
library/ の下に Excel_Read_Operat.php クラス ファイルがあり、その下に PHPExcel.php と PHPExcel フォルダーがあります。 Excel_Read_Operat.php クラスは次のとおりです。
if ( !定義('BASEPATH')) exit('直接スクリプト アクセスは許可されません');
class Excel_Read_Operat {
public $_filepath; private $_arrayTable ;
private $_Feature;
public static FunctionInitialized($filepath){
if (file_exists($filePath)) {
$this->_filepath = $filepath;配列を返します();
}
}
public static Function GetData($val) {
$jd = GregorianToJD ( 1, 1, 1970 );
$gregorian = JDToGregorian ( $jd + intval ( $val ) - 25569 );
$gregorian を返します。
}
public static Function GetArrTable_CVS(){
require_once 'EXCEL/PHPExcel.php';
require_once 'EXCEL/PHPExcel/IOFactory.php';
$PHPReader_CSV = 新しい PHPExcel_Reader_CSV();
$file_ext=strto lower(pathinfo($this->_filepath, PATHINFO_EXTENSION));
$PHPReader_CSV->setInputEncoding('GBK');
$PHPReader_CSV->setDelimiter(',');
if(!$PHPReader_CSV->canRead($this->_filepath)){
return array();
}
$PHPExcel = $PHPReader_CSV->load($this->_filepath);
$currentSheet = $PHPExcel->getSheet ( 0 );
$allColumn = $currentSheet->getHighestColumn ();
$allColumn = PHPExcel_Cell::columnIndexFromString ( $allColumn );
$allRow = $currentSheet->getHighestRow ();
echo '行は : '.$allRow.'
';
echo 'allColumn is : '.$allColumn.'
';
for($currentRow = 2; $currentRow <= $allRow; $currentRow ++) {
for($currentColumn = 0; $currentColumn < $allColumn; $currentColumn ++) {
$val = $currentSheet->getCellByColumnAndRow ( $currentColumn , $currentRow )->getValue ();
$this->_Feature[$currentColumn] = $val;
}
$this->_arrayTable [$currentRow] = $this->_Feature;
}
echo 「n」;
return $this->_arrayTable;
}
public static Function GetArrTable_Excel() {
require_once 'EXCEL/PHPExcel.php';
require_once 'EXCEL/PHPExcel/IOFactory.php';
$PHPReader = 新しい PHPExcel_Reader_Excel2007 ();
if (! $PHPReader->canRead ( $this->_filepath )) {
$PHPReader = new PHPExcel_Reader_Excel5 ();
if (! $PHPReader->canRead ( $this->_filepath )) {
echo 'no Excel';
戻る;
}
}
$PHPExcel = $PHPReader->load ( $this->_filepath );
$currentSheet = $PHPExcel->getSheet ( 0 );
$allColumn = $currentSheet->getHighestColumn ();
$allColumn = PHPExcel_Cell::columnIndexFromString ( $allColumn );
$allRow = $currentSheet->getHighestRow ();
echo '行は : '.$allRow.'
';
echo 'allColumn is : '.$allColumn.'
';
for($currentRow = 2; $currentRow <= $allRow; $currentRow ++) {
for($currentColumn = 0; $currentColumn < $allColumn; $currentColumn ++) {
$val = $currentSheet->getCellByColumnAndRow ( $currentColumn , $currentRow )->getValue ();
$this->_Feature[$currentColumn] = $val;
}
$this->_arrayTable [$currentRow] = $this->_Feature;
}
echo 「n」;
return $this->_arrayTable;
}
}
?>
私は GetArrTable_CVS を使用してこのメソッドを使用し、表枠内のデータを呼び出してから数値集合表に返します。これは、ここでは require_once を使用できないためですか? 私は PHPExcel を使用しますか?
回复讨论(解决方案)
require_once 'EXCEL/PHPExcel.php';
require_once 'EXCEL/PHPExcel/IOFactory.php';
手順序文の開始部分を放ちます
経路を確認します
ファイルの先頭に配置すると、プログラム全体が実行されません。この 2 つの文はどこに置いても実行できないことがわかりました。これはあまりにも奇妙です。
パスは正しいはずです。同じディレクトリ内にあります。確認していただけますか?
エラー メッセージが表示されます。
エラー メッセージはどこで確認できますか?
require_once または require が失敗した場合、エラー メッセージが表示されるはずです
どこで見つけるかは php.ini の設定によって異なります
display_errors = On の場合、ページ上に表示されます
おっしゃるとおりに設定しましたが、何もありません エラーメッセージが表示されます。エラーメッセージを表示するには、プログラム内に何らかのステートメントを記述する必要がありますか?
この問題は解決されました、なんと、たくさんの方法を試しました! ! !大きな頭。でも、モデレーターさん、ありがとう

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

2012年のFacebookによる有名な買収に続いて、Instagramはサードパーティの使用のために2セットのAPIを採用しました。これらはInstagramグラフAPIとInstagram Basic Display APIです。

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています
