Tôi muốn đăng tệp csv trên bộ điều khiển của mình bằng API.Tôi đang sử dụng Thư viện REST Codeigniter bởi phil sturgeon. Làm thế nào để thực hiện trên phía khách hàng việc nhập khẩu CSV vào máy chủ REST của tôi. Tôi chỉ muốn hỏi vì tôi không thể tìm thấy bất kỳ tài liệu nào về nó.Nhập mã CSV REST Codeigniter vào mysql
Trả lời
Đây là cách dễ dàng để thực hiện việc này. Tôi không biết những gì mọi người làm nhưng tôi sử dụng này
Đây là thư viện trình đọc csv của tôi, Lưu thư mục này trong thư viện dưới dạng 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;
}
}
?>
Và phương pháp điều khiển
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);
}
Và đây là cái nhìn
<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>
Lưu ý: Điều này sẽ chỉ đọc một tập tin mà tồn tại trên máy chủ. Nếu tệp cần được tải lên, hãy sử dụng File Upload Class để tải lên tệp và lưu tệp đó vào một số vị trí trên máy chủ của bạn, sau đó cung cấp đường dẫn tệp được định vị theo phương thức parse_file
. Và mọi thứ sẽ hoạt động tốt.
Cảm ơn tôi sẽ cho nó một thử Tôi chỉ cần dữ liệu để trích xuất và chuyển nó vào mô hình. –
bạn có thể chuyển mảng được trả về cho mô hình –
làm thế nào nếu trường csv của tôi không có $ bao vây '' '? Nó trả về lỗi nếu tôi đặt $ enclosure =' '; –
- 1. API REST với CodeIgniter
- 2. Nhập CSV vào MySQL với định dạng ngày khác
- 3. MySQL chỉ nhập một hàng từ CSV
- 4. nhập tệp CSV vào phpmyadmin
- 5. Nhập CSV vào PostgreSQL 9.2
- 6. Nhập Tệp CSV vào Java
- 7. Tải các tệp CSV vào MySQL Workbench
- 8. Emacs: nhập CSV vào chế độ org
- 9. Nhập dữ liệu CSV hàng loạt trong UTF-8 vào MySQL
- 10. Xác thực REST bằng PHP (CodeIgniter)
- 11. Nhập dữ liệu CSV bằng cách sử dụng PHP/MySQL
- 12. Nhập dữ liệu CSV của MySQL - bỏ qua một số cột csv
- 13. Nhập tệp csv lớn vào cơ sở dữ liệu mysql bằng cách sử dụng php
- 14. Cách nhập nhiều tệp csv vào cơ sở dữ liệu MySQL
- 15. Nhập XML vào MySQL 5.1
- 16. Nhập dữ liệu CSV từ dịch vụ web vào Excel
- 17. CodeIgniter và bảng mã
- 18. Tải dữ liệu CSV vào MySQL bằng Python
- 19. Mã PHP để chuyển đổi truy vấn MySQL thành CSV
- 20. Đăng nhập vào facebook trong android sử dụng REST API
- 21. CodeIgniter Rest Server xử lý yêu cầu POST của JSON
- 22. Nhập tệp CSV vào nhiều mô hình cùng một lúc
- 23. Đăng nhập API REST Salesforce?
- 24. Cassandra CQL3 Nhập CSV
- 25. Xuất dữ liệu MYSQL vào Excel/CSV qua php
- 26. Nhập CSV có độ rộng hàng khác nhau vào Incanter?
- 27. Nhập csv vào sqlite với autoincrementing khóa chính
- 28. nhập tập tin lớn vào MySQL DB
- 29. Hiệu suất CSV và MySQL
- 30. Xuất/Nhập CSV bằng PHPExcel
Bạn không đủ rõ ràng với câu hỏi. Codeigniter REST gần giống với Codeigniter bình thường nhưng sự khác biệt chỉ là gọi phương thức và đáp ứng. Trong codeigniter bình thường, chúng ta gọi là 'controller/function' trong đó REST phải là' resource/{resource_id}/child_resource/{child_resource_id} '. Tôi không có vấn đề gì khi gửi tiêu đề dưới dạng tệp .xls' – KuKu
clealy và đơn giản cho chúng tôi biết bạn muốn gì –
@raheelshan Tôi muốn đăng tệp csv trên bộ điều khiển của mình bằng API phía ứng dụng khách jquery.post và trích xuất dữ liệu tệp csv và nhập vào mysql. –