Ich mag csv-Datei auf meinem Controller schreiben API.I'm mit mit Codeigniter REST-Bibliothek von phil Stör. So implementieren Sie auf der Clientseite das Importieren von CSV in meinen REST-Server. Ich möchte nur fragen, weil ich keine Dokumentation darüber finden kann.Codeigniter REST CSV-Import zu mysql
Antwort
Hier ist eine einfache Möglichkeit, dies zu tun. Ich weiß nicht, was die Leute tun, aber ich benutze diese
Dies ist mein csv Leser Bibliothek, diesen Ordner als csvreader.php in Bibliotheken speichern.
<?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;
}
}
?>
und Controller-Methode
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);
}
Und dies ist eine Ansicht
<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>
Hinweis: Dies ist nur eine Datei lesen, die auf dem Server vorhanden ist. Wenn die Datei hochgeladen werden muss, verwenden Sie File Upload Class, um die Datei hochzuladen und sie an einem bestimmten Ort auf Ihrem Server zu speichern. Geben Sie dann den Pfad der gefundenen Datei in der Methode parse_file
ein. Und alles wird gut funktionieren.
Danke, ich werde es versuchen Ich brauche nur die Daten zu extrahieren und es an das Modell zu übergeben. –
Sie können das zurückgegebene Array übergeben zu –
modellieren, wie wenn meine csv Felder ohne $ Kapselung ‚"‘es Fehler zurück, wenn $ i Gehäuse setzen =‚‘; –
- 1. REST API mit CodeIgniter
- 2. REST-Authentifizierung in PHP (CodeIgniter)
- 3. Codeigniter Mysql Termine
- 4. codeigniter mysql Fehler
- 5. Codeigniter MySQL Verbindung
- 6. php mysql codeigniter Zeichencodierung
- 7. Datei-Upload von einem Rest-Client zu einem Rest-Server
- 8. MySql Skript-Update auf CodeIgniter
- 9. Codeigniter MySQL Query mit Variablen
- 10. MySQL Query Ausgabe in Codeigniter
- 11. MySQL 1064 Fehler in CodeIgniter?
- 12. Importieren Sie Daten von CSV zu MySQL mit CakePHP 2.7.5
- 13. Der Upload-Zielordner scheint nicht beschreibbar zu sein. Codeigniter HMVC
- 14. Codeigniter Zu viele Verbindung __construct()
- 15. zusätzliche Leerzeichen in CodeIgniter MySQL Query
- 16. Zufall Datensatz aus MySQL-Datenbank mit CodeIgniter
- 17. PHP Codeigniter: set Portnummer für MySQL-Konfiguration
- 18. Codeigniter 3 update mysql funktioniert nicht
- 19. Codeigniter mysql wo nicht gleich Abfrage
- 20. MySQL verbinden zwei Tabellenabfrage in codeigniter
- 21. Intervall von 30 Tagen, in MYSQL Codeigniter
- 22. Konvertieren Sie meine MySQL-Abfrage in CodeIgniter
- 23. Wie benutzerdefinierte URL für Codeigniter mit Route und Rest API?
- 24. Codeigniter Rest API: Put-Anfrage wird nicht übergeben ID
- 25. Wie wird das Routing im Codeigniter for Rest-Server konfiguriert?
- 26. MySQL: Berechnen Verkaufstage im Monat Rest
- 27. Node.js REST mit MySQL Handle Reconnect
- 28. Post Eingabedaten zu codeigniter Controller von außerhalb codeigniter Ordner
- 29. PHP CodeIgniter
- 30. PHP CURL zu CodeIgniter-Controller
Sie sind nicht genug, um sich mit der Frage klar. Codeigniter REST ist fast gleich wie normaler Codeigniter, aber der Unterschied besteht darin, nur die Methode und die Antwort aufzurufen. Im normalen codeigniter rufen wir 'Controller/function' wo in REST muss es' Ressource/{RESOURCE_ID}/child_resource/{} 'child_resource_id sein. Ich denke nicht, dass es ein Problem für das Senden der Header als '.xls' Datei – KuKu
Clealy geben und in einfachen Worten sagen Sie uns, was Sie wollen –
@raheelshan Ich möchte csv-Datei auf meinem Controller mit clientseitige API von jquery.post und entpacken Sie die CSV-Datei Daten und importieren Sie in MySQL. –