excelファイルをSQL DBにアップロードする機能をプログラミングします。 $this->upload->do_upload('file')
が実行されず、理由がわからないので問題があります。ここでCodeIgniterファイルアップロードクラス、do_uploadでエラーが発生しました
は私のコントローラである:
function import(){
$this->breadcrumbs[] = array(
"title" => "Import",
"link" => "interview/import"
);
$this->template->load("interview_import", $this->breadcrumbs, $data);
}
function import_data() {
$this->load->library("form_validation");
$config = array(
'upload_path' => FCPATH. 'upload/',
'allowed_types' => 'xls'
);
$this->load->library('upload', $config);
if($this->upload->do_upload('file')) {
$data = $this->upload->data();
@chmod($data['full_path'], 0777);
}
$this->load->library("Spreadsheet_Excel_Reader");
$this->spreadsheet_excel_reader->setOutputEncoding('CP1251');
$this->spreadsheet_excel_reader->read($data['full_path']);
$sheets = $this->spreadsheet_excel_reader->sheets[0];
error_reporting(E_ALL^E_NOTICE);
$data_excel = array();
for ($i = 2; $i <= $sheets[0]['numRows']; $i++) {
if ($sheets['cells'][$i][1] == '') {
break;
}
$data_excel[$i -1]['name'] = $sheets['cells'][$i][1];
$data_excel[$i -1]['phone'] = $sheets['cells'][$i][2];
$data_excel[$i -1]['address'] = $sheets['cells'][$i][3];
/*for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
echo "\n";*/
}
echo '<pre>';
print_r($data_excel);
echo '</pre>';
die();
}
そして、これは私のビューです:
<?php
echo form_open_multipart('interview/import_data');
echo form_upload('file');
echo '<br/>';
echo form_submit(null, 'Upload');
echo form_close();
?>
あなたは私が間違っているの何任意のアイデアを持っていますか?
アップロードしようとすると、私はエラーメッセージが出ます:
> PHPエラーが 重大度を発生しました:未定義の変数:データ ファイル名:コントローラー/ Interview.php 行番号:521 メッセージを通知しますバックトレース: ファイル:C:\ Users \ユーザーA66155193 \デスクトップ\ xamppの\ htdocsに\ yitt \アプリケーション\コントローラ\ Interview.php ライン:521 機能:_error_handler ファイル:C:\ Users \ユーザーA66155193 \デスクトップ\ xamppの\ htdocsに\ yitt \ index.php 行:311 機能:だから、明らかにIF-句が実行できますrequire_once
理由:
未定義の変数:データ
あなたの助けをありがとう!
"アップロードパスが有効ではないようです。" 「ファイル名は読み込みできません」と表示されます。どのように間違っているかを調べるには、ファイル名を印刷することができます –
アップロードパスはルートにありますか? –
rootであなたのアップロードパスを 'upload_path' => './upload/'のように使用できる場合、 –