2013-10-21 25 views
1

這是我的簡單php代碼我可以使用此代碼導入文件,但我必須在我的項目中實現codeigniter.how我可以更改。如何使用codeigniter導入文件

<?php 

$connect = mysql_connect('localhost','root','12345'); 
if (!$connect) { 
    die('Could not connect to MySQL: ' . mysql_error()); 
} 

$cid =mysql_select_db('test',$connect); 
// supply your database name 

define('CSV_PATH','C:/wamp/www/csvfile/'); 
// path where your CSV file is located 

    $csv_file = CSV_PATH . "infotuts.csv"; // Name of your CSV file 
    $csvfile = fopen($csv_file, 'r'); 
    $theData = fgets($csvfile); 
    $i = 0; 
    while (!feof($csvfile)) { 
     $csv_data[] = fgets($csvfile); 
     $csv_array = explode(",", $csv_data[$i]); 
     $insert_csv = array(); 
     $insert_csv['ID'] = $csv_array[0]; 
     $insert_csv['name'] = $csv_array[1]; 
     $insert_csv['email'] = $csv_array[2]; 
     $query = "INSERT INTO csvdata(ID,name,email) 
VALUES('','".$insert_csv['name']."','".$insert_csv['email']."')"; 
     $n=mysql_query($query, $connect); 
     $i++; 
    } 
    fclose($csvfile); 

echo "File data successfully imported to database!!"; 
mysql_close($connect); 
?> 

此代碼工作正常,但我有codeigniter.please指南改怎麼.................實現笨這段代碼.... ........如何在傳播工作................

+0

你試過了嗎在codeigniter? –

回答

2

只要是這樣的:

/* 
$connect = mysql_connect('localhost','root','12345'); 
if (!$connect) { 
    die('Could not connect to MySQL: ' . mysql_error()); 
} 

$cid =mysql_select_db('test',$connect); 
// supply your database name 

*/ 

class something extends CI_Controller{ 


    function import(){ 
     define('CSV_PATH','./csvfile/'); #make a folder "csvfile" in your project root 
     // path where your CSV file is located 

      $csv_file = CSV_PATH . "infotuts.csv"; // Name of your CSV file 
      $csvfile = fopen($csv_file, 'r'); 
      $theData = fgets($csvfile); 
      $i = 0; 
      while (!feof($csvfile)) { 
       $csv_data[] = fgets($csvfile); 
       $csv_array = explode(",", $csv_data[$i]); 
       $insert_csv = array(); 
       $insert_csv['ID'] = $csv_array[0]; 
       $insert_csv['name'] = $csv_array[1]; 
       $insert_csv['email'] = $csv_array[2]; 
       //$query = "INSERT INTO csvdata(ID,name,email) VALUES('','".$insert_csv['name']."','".$insert_csv['email']."')"; 
       //$n=mysql_query($query, $connect); 
       //$i++; 
       $this->model->save_data($insert_csv); 
      } 
      fclose($csvfile); 

     echo "File data successfully imported to database!!"; 
    } 
} 


/* 
mysql_close($connect); 
*/ 


#model function 
function save_data($save_data){ 
    $this->db->insert('table_name', $save_data); #edited here 
    echo $this->db->last_query(); 
    return 1; 
} 

然後調用import function這樣:

http://domain.com/something/import 
+0

我得到錯誤undefined偏移量1 –

+0

好的,你有沒有改變控制器名稱?只需從上面的代碼複製功能。並具體什麼錯誤你得到在哪一行等 –

+0

其工作只有一次.....下一次文件不導入 –