[PHP] CSV String o no?

O3B

Nuovo Utente
7 Gen 2018
3
0
1
Salve a tutti,

sono nuovo da queste parti. Sono capitato poiché riscontro un problema di comprensione nella gestione di file .CSV.
In PHP esistono due istruzioni per ottenere dati da un file CSV. La prima fgetcsv($file, $delimiter, eccc) e questo legge una riga dal CSV e rilascia un Array in cui ogni cella contiene un campo della riga letta.

Poi esiste la possibilità di utilizzare str_getcsv per file CSV String. In teoria la scelta del delimitatore non dovrebbe avere regole (',' o ';' ecc non dovrebbe cambiare il funzionamento). Eppure, se il mio file CSV ha come delimitatore il ';' la prima istruzione non funziona poichè non riesce a rilevare i diversi campi ma ne vede uno unico (quindi per accedere ai singoli campi devo applicare str_getcsv). E' come se fossi in caso di CSV String. Ma online non sono riuscito a trovare una definizione esatta.

Qualcuno più esperto mi sa dare una spiegazione plausibile?

Grazie in anticipo :)
 
Ultima modifica:

marino51

Utente Attivo
28 Feb 2013
3.016
174
63
Lombardia
PHP esistono due istruzioni
in realtà si possono usare altri modi
se il mio file CSV ha come delimitatore il ';' la prima istruzione non funziona poichè non riesce a rilevare i diversi campi
bisognerebbe vedere il codice, sicuramente con errore,
questi i 3 esempi con relativo risultato (csv delimitato da punto e virgola)
Codice:
<?php
require_once 'myUtils/show_vars.php';

$file = 'csv.csv';


$cell = array();
$csv = fopen($file, "r");
while( !feof($csv) )
    {
    $row    = fgets($csv);
    $cell[] = explode(';', $row);
}
fclose($file);
echo "<h2>fgets->explode</h2><br />".show_var($cell);


$cell = array();
$csv = fopen($file, "r");
while( !feof($csv) )
    {
    $cell[] = fgetcsv($csv,0,';','"');
}
fclose($file);
echo "<h2>fgetcsv</h2><br />".show_var($cell);


$cell = array();
$csv = fopen($file, "r");
while( !feof($csv) )
    {
    $row    = fgets($csv);
    $cell[] = str_getcsv($row, ';', '"');
}
fclose($file);
echo "<h2>str_getcsv</h2><br />".show_var($cell);
?>
upload_2018-1-7_13-15-1.png
upload_2018-1-7_13-15-38.png
upload_2018-1-7_13-16-12.png


ps, attento alle righe vuote nel csv
 
Ultima modifica:

O3B

Nuovo Utente
7 Gen 2018
3
0
1
Ciao Marino51,

grazie mille della risposta. Ho trovato l'errore. Tra i parametri del fgetcsv() avevo omesso la dimensione poichè online avevo letto che era diventata facoltativa e omettendola si impostava a zero (illimitata) in auto.
 
Discussioni simili
Autore Titolo Forum Risposte Data
F [PHP] Importare file CSV in HTML PHP 12
M [PHP] Importare file csv su server PHP 0
R php Somma valori in file csv PHP 2
E [PHP] confrontare stringhe importate da csv PHP 19
F [PHP] Importare file CSV in HTML PHP 3
L [PHP] Salvare csv da form dati PHP 5
A [Javascript] Select concatenata php csv Javascript 3
myprobsql [PHP] Esportare con PHP dati da MySQL a CSV PHP 2
giancadeejay [PHP] Update tabella da file csv PHP 3
L [PHP] Creare un uploader di file csv xls e ricercare i risultati PHP 0
giancadeejay [PHP] Aggiornare DB tramite UPLOAD file .csv PHP 39
C [PHP] Problema con creazione csv PHP 3
M [PHP] Esportare dati csv in cartella predefinita PHP 0
P [PHP] Aiuto per gestione file CSV PHP 24
N CSV doppi apici e punto e virgola da Excel tramite PHP PHP 2
felino Libreria PHP per conversione da Json a CSV PHP 4
M Tabella PHP con sorgente dati csv: selezionare le riche e compilare Form eMail PHP 1
I Modificare dati in tabella csv da php PHP 0
7 Script php che legge un dato da pagine web e lo confronta con un altro su csv... PHP 2
G importare csv file in tabella oracle XE da script php PHP 1
maxnegri cerco programmatore php per un lavoro di integrazione import csv nel mio sito PHP 1
A Csv e php PHP 0
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 0
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0

Discussioni simili