我要發佈使用API.I'm使用笨REST庫由Phil鱘我控制器上csv文件。如何在客戶端實現CSV到我的REST服務器的導入。我只是想問一下,因爲我找不到任何關於它的文檔。笨REST CSV導入到MySQL
回答
下面是一個簡單的方法來做到這一點。我不知道是什麼人做的,但我用這個
這是我的CSV讀者庫,在庫中保存此文件夾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 */
var $enclosure = '"'; /** enclosure used to decorate each field */
var $max_row_size = 4096; /** maximum row size to be used for decoding */
function parse_file($p_Filepath)
{
$file = fopen($p_Filepath, 'r');
$this->fields = fgetcsv($file, $this->max_row_size, $this->separator, $this->enclosure);
$keys_values = explode(',',$this->fields[0]);
$content = array();
$keys = $this->escape_string($keys_values);
$i = 1;
while(($row = fgetcsv($file, $this->max_row_size, $this->separator, $this->enclosure)) != false)
{
if($row != null) { // skip empty lines
$values = explode(',',$row[0]);
if(count($keys) == count($values)){
$arr = array();
$new_values = array();
$new_values = $this->escape_string($values);
for($j=0;$j<count($keys);$j++){
if($keys[$j] != ""){
$arr[$keys[$j]] = $new_values[$j];
}
}
$content[$i] = $arr;
$i++;
}
}
}
fclose($file);
return $content;
}
function escape_string($data)
{
$result = array();
foreach($data as $row){
$result[] = str_replace('"', '',$row);
}
return $result;
}
}
?>
和控制器的方法
function readExcel()
{
$this->load->library('csvreader');
$result = $this->csvreader->parse_file('Test.csv');//path to csv file
$data['csvData'] = $result;
$this->load->view('view_csv', $data);
}
這是鑑於
<table cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width = "10%">ID</td>
<td width = "20%">NAME</td>
<td width = "20%">SHORT DESCRIPTION</td>
<td width = "30%">LONG DESCRIPTION</td>
<td width = "10%">STATUS</td>
<td width = "10%">PARENTID</td>
</tr>
<?php foreach($csvData as $field){?>
<tr>
<td><?php echo $field['id']?></td>
<td><?php echo $field['name']?></td>
<td><?php echo $field['shortdesc']?></td>
<td><?php echo $field['longdesc']?></td>
<td><?php echo $field['status']?></td>
<td><?php echo $field['parentid']?></td>
</tr>
<?php }?>
</table>
注意:這將只讀取它存在於服務器上的文件。如果需要上傳文件,則使用File Upload Class上傳文件並將其保存到服務器上的某個位置,然後在parse_file
方法中指定找到的文件的路徑。一切都會正常工作。
謝謝我會試一試我只需要提取數據並將其傳遞給模型。 –
你可以通過返回數組來模擬 –
如何,如果我沒有$圈地「「」它會返回錯誤,如果我把$外殼=‘’CSV字段; –
- 1. 笨2.2,MySQL的 - 獲取CSV導入
- 2. 導入CSV到MySQL
- 3. 導入CSV到MySQL
- 4. 導入CSV數據到MySQL
- 5. PHP:導入CSV到MYSQL
- 6. 導入CSV文件到MySQL
- 7. 導入CSV到MySQL - 通過
- 8. 用PHP導入CSV到MySQL
- 9. 將CSV導入到MySQL
- 10. 導入CSV或XML到MySQL
- 11. PostgreSQL csv從MySQL csv導出導入?
- 12. 導出MySQL到CSV
- 13. 導入CSV到MySQL並轉換日期
- 14. 導入CSV文件直接到MySQL
- 15. 將csv數據導入到mysql表中
- 16. 將csv文件導入到mysql
- 17. 從CSV到MySQL的選擇性導入
- 18. 將CSV導入到MySQL中很困難
- 19. 導入CSV大到mysql數據庫
- 20. CSV導入到MySQL的更新
- 21. 將CSV導入到MYSQL問題
- 22. 導入CSV到MySQL與LOAD DATA INFILE
- 23. 將數據導入csv文件到mysql
- 24. 錯誤導入csv到MySQL php jquery
- 25. CSV文件導入到MySQL通過phpmyadmin
- 26. 將遠程CSV導入到mySQL表中?
- 27. 使用PHP將CSV導入到MySQL
- 28. 腳本從csv導入數據到mysql
- 29. 錯誤導入CSV到MySQL和PHP
- 30. 無法使用PHP導入CSV到MySQL
你對這個問題還不夠清楚。 Codeigniter REST與普通Codeigniter幾乎相同,但區別在於調用方法和響應。 在正常的codeigniter中,我們調用'controller/function',在REST中它必須是'resource/{resource_id}/child_resource/{child_resource_id}'。 我不會有任何問題發送頭文件爲'.xls'文件 – KuKu
clealy和簡單的話告訴我們你想要什麼 –
@raheelshan我想發佈csv文件在我的控制器上使用客戶端API jquery.post並提取csv文件數據並導入到mysql。 –