あなたが私に与えてくれた助けを前もってありがとう、私は私の状況を説明します.
チュートリアルに基づく
フォーラム : 素敵な csv アップロードとデータベース機能への入力
CSV ファイルをアップロードし、このドキュメントを解析し、データベースにデータを挿入できるページを作成しようとしています。私は今までこのコードを書いてきました:
<?php
class Upload extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
}
function index()
{
$this->load->view('upload_form', array('error' => ' ' ));
}
function do_upload(){
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'csv';
$config['max_size'] = '5000';
$with = ' ';
$replace = '"';
$this->load->library('upload', $config);
$this->load->database();
if ( ! $this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_form', $error);
}
else
{
//Insert file info into database
$data = array('upload_data' => $this->upload->data());
$userfile = $data['upload_data']['file_name'];
$this->load->library('csvreader');
$filePath1 = './uploads/';
$filePath2 = $data['upload_data']['file_name'];
$filePath = $filePath1 . $filePath2;
$data['csvData'] = $this->csvreader->parse_file($filePath);
foreach($data['csvData'] as $cd){
$results_array = array(
'Parolachiave' => $cd['Parola chiave'],
'Concorrente' => $cd['Concorrente'],
'Motorediricerca' => $cd['Motore di ricerca'],
'Posizione' => $cd['Posizione'],
'Paginaweb' => $cd['Pagina web'],
'Modifiche' => $cd['Modifiche']
);
$this->db->set($results_array);
$this->db->insert('data', $results_array);
}
}
}
}
?>
私は Google Chrome を使用していますが、次のエラーが表示されます。Codeigniter のルートにある config / database.php でデータベースを宣言しました。問題の解決策をネットワーク化しようとしていますが、どこが間違っているのかまだわかりません。ありがとうございました。
これは私のライブラリ/csvreader.php です
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class CSVReader {
var $fields; /** columns names retrieved after parsing */
var $separator = ','; /** separator used to explode each line */
/**
* Parse a text containing CSV formatted data.
*
* @access public
* @param string
* @return array
*/
function parse_text($p_Text) {
$lines = explode("\n", $p_Text);
return $this->parse_lines($lines);
}
/**
* Parse a file containing CSV formatted data.
*
* @access public
* @param string
* @return array
*/
function parse_file($p_Filepath) {
$lines = file($p_Filepath);
return $this->parse_lines($lines);
}
/**
* Parse an array of text lines containing CSV formatted data.
*
* @access public
* @param array
* @return array
*/
function parse_lines($p_CSVLines) {
$content = FALSE;
foreach( $p_CSVLines as $line_num => $line ) {
if( $line != '' ) { // skip empty lines
$elements = split($this->separator, $line);
if( !is_array($content) ) { // the first line contains fields names
$this->fields = $elements;
$content = array();
} else {
$item = array();
foreach( $this->fields as $id => $field ) {
if( isset($elements[$id]) ) {
$item[$field] = $elements[$id];
}
}
$content[] = $item;
}
}
}
return $content;
}
}