Chcę opublikować plik csv na moim kontrolerze przy użyciu interfejsu API. Korzystam z biblioteki REST Codeigniter by phil sturgeon. Jak zaimplementować po stronie klienta importowanie pliku CSV do mojego serwera REST. Po prostu chcę zapytać, ponieważ nie mogę znaleźć żadnej dokumentacji na jego temat.Codeigniter REST CSV import do mysql
Odpowiedz
Oto prosty sposób na zrobienie tego. Nie wiem, co ludzie robią, ale używam tej
To jest moja biblioteka czytelników csv, Zapisz to w folderze bibliotek jako 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;
}
}
?>
i sposób kontroler
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);
}
A to jest widok z
<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>
Uwaga: To tylko do odczytu pliku, który istnieje na serwerze. Jeśli plik wymaga przesłania, użyj File Upload Class, aby przesłać plik i zapisać go w wybranej lokalizacji na serwerze, a następnie podaj ścieżkę do zlokalizowanego pliku w metodzie parse_file
. I wszystko będzie dobrze.
Dzięki temu spróbuję Po prostu potrzebuję danych do wyodrębnienia i przekazania go do modelu. –
możesz przekazać zwróconą tablicę do modelu –
jak, jeśli moje pola csv bez $ enclosure "" "zwrócą błąd, jeśli wstawię $ enclosure = ''; –
- 1. Wgrywanie CSV do Codeigniter
- 2. Biblioteka importu CSV dla CodeIgniter
- 3. Import-CSV i Foreach
- 4. Import plików CSV do programu Excel
- 5. Emacs: import CSV do trybu org
- 6. SQL Bulk import z CSV
- 7. Import CSV/JSON w jaderze
- 8. Nierozwiązany import csv Pydev Eclipse
- 9. Uwierzytelnianie REST w PHP (CodeIgniter)
- 10. Eksport/import CSV za pomocą PHPExcel
- 11. zawartość obiektu przycinania w csv import
- 12. Import danych CSV z serwisu WWW do Excela
- 13. Importowanie dużą csv do bazy danych mysql
- 14. CodeIgniter MySQL kwerenda nie działa
- 15. import mysql tylko brakujące wiersze
- 16. Importowanie pliku CSV do MySQL o innym formacie daty
- 17. Kod PHP do konwersji zapytania MySQL do CSV
- 18. Import/Eksport CSV z SQLite z kodu C#
- 19. Uzyskiwanie dodatkowych spacji w CodeIgniter zapytania MySQL
- 20. CodeIgniter REST API Library Ajax PUT throwing 403 Forbidden
- 21. Prześlij plik CSV do MySQL przy użyciu Laravel
- 22. Eksportowanie danych MYSQL do Excel/CSV za pomocą php
- 23. Importowanie zbiorczych danych CSV w UTF-8 do MySQL
- 24. jak zaimportować plik csv do mysql przy użyciu pliku node.js?
- 25. Python MySQL Eksport CSV do json dziwne kodowanie
- 26. MySQL importuje tylko jeden wiersz z CSV
- 27. CSV do JSON skryptu
- 28. Python CSV do SQLite
- 29. Import Freebase do Triplestore
- 30. Jak CSV eksport z MySQL utf8
Nie jesteś wystarczająco jasny z pytaniem. Codeigniter REST jest prawie taki sam jak normalny Codeigniter, ale różnica polega na wywołaniu metody i odpowiedzi. W normalnym kodzie kodu nazywamy 'kontroler/funkcję', gdzie w REST musi być' resource/{resource_id}/child_resource/{child_resource_id} '. Nie sądzę, że będzie jakiś problem z wysłaniem nagłówków jako ".xls" file – KuKu
clealy iw prostych słowach powiedz nam, co chcesz –
@raheelshan Chcę wysłać plik csv na moim kontrolerze za pomocą API klienta po stronie jquery.post i wyodrębnij dane pliku csv i zaimportuj do mysql. –