- parseCSV e o clasa PHP gratuita pentru citire si scriere usor a datelor in format CSV.
- Download parseCSV 0.4.3 beta.

Caracteristici

• Suporta valori inchise, virgule inchise, ghilimele duble si linii noi.
• Detectare automata caracter de delimitare.
• Sortare /filtrare dupa anumite campuri /coloane.
• Comenzi SQL de baza, limitare date returnate.
• Retine datele CSV in array, transforma array in format CSV.
• Detectare erori intr-un mod "inteligent", dar depinde si de structura continutului CSV.
• Suporta conversia caracterelor, folosind functia PHP iconv().

Exemple
- Urmatoarele doua exemple folosesc acest CSV, salvat in "books.csv":
rating,title,author,type,asin,tags,review
0,The Third Secret,Steve Berry,Book,0340899263,,need to find time to read this book
3,The Last Templar,Raymond Khoury,Book,0752880705,,
4,The Da Vinci Code (Hardcover),Dan Brown,"     Book     ",0385504209,book movie danbrown bestseller davinci,

1. Citire fisier CSV (cu auto-detectare caracter de delimitare) si retine datele in array:
<?php
// include clasa parseCSV
include('parsecsv/parsecsv.class.php');

// creaza obiect parseCSV
$csv = new parseCSV();

// Citeste si analizeaza 'books' folosind detectarea automata a delimitarii
$csv->auto('books.csv');

// daca stiti caracterul de delimitare (daca nu e cel standard, virgula ','), il puteti adauga
// $csv->delimiter = "\t"; // delimitator tab

$csvdata = $csv->data; // retine datele csv in array

// afiseaza rezultatul
echo '<pre>';
print_r($csvdata);
echo '</pre>';
?>

Rezulta:
Array
(
 [0] => Array
 (
 [rating] => 0
 [title] => The Third Secret
 [author] => Steve Berry
 [type] => Book
 [asin] => 0340899263
 [tags] => 
 [review] => need to find time to read this book
 )
 [1] => Array
 (
 [rating] => 3
 [title] => The Last Templar
 [author] => Raymond Khoury
 [type] => Book
 [asin] => 0752880705
 [tags] => 
 [review] => 
 )
 [2] => Array
 (
 [rating] => 4
 [title] => The Da Vinci Code (Hardcover)
 [author] => Dan Brown
 [type] => Book 
 [asin] => 0385504209
 [tags] => book movie danbrown bestseller davinci
 [review] => 
 )
)

2. Citeste fisierul CSV, sorteaza datele dupa "title".
<?php
// include clasa parseCSV.
include('parsecsv/parsecsv.class.php');

// creaza obiect parseCSV
$csv = new parseCSV();

$csv->sort_by = 'title';

// Citeste si analizeaza 'books' folosind detectarea automata a delimitarii
$csv->auto('books.csv');

$csvdata = $csv->data; // retine datele din csv in array

// afiseaza rezultatul
echo '<pre>';
print_r($csvdata);
echo '</pre>';
?>

Rezulta:
Array
(
 [The Da Vinci Code (Hardcover)] => Array
 (
 [rating] => 4
 [title] => The Da Vinci Code (Hardcover)
 [author] => Dan Brown
 [type] => Book 
 [asin] => 0385504209
 [tags] => book movie danbrown bestseller davinci
 [review] => 
 )
 [The Last Templar] => Array
 (
 [rating] => 3
 [title] => The Last Templar
 [author] => Raymond Khoury
 [type] => Book
 [asin] => 0752880705
 [tags] => 
 [review] => 
 )
 [The Third Secret] => Array
 (
 [rating] => 0
 [title] => The Third Secret
 [author] => Steve Berry
 [type] => Book
 [asin] => 0340899263
 [tags] => 
 [review] => need to find time to read this book
 )
)

3. Transforma array 2D in CSV, si-l trimite ca fisier la browser ca sa fie descarcat.
<?php
// include clasa parseCSV.
include('parsecsv/parsecsv.class.php');

$csvHeader = array('category', 'link'); // csv header

// array bi-dimensional cu datele pt csv (dupa cum e setat la header)
$csvData = array(
 array('tutorials', 'http://www.coursesweb.net/php-mysql/tutorials_t'),
 array('scripts', 'http://www.coursesweb.net/php-mysql/scripts_s2'),
 array('resources', 'http://www.coursesweb.net/php-mysql/download_l2')
 );

// creaza obiect parseCSV.
$csv = new parseCSV();

// transforma array-ul bi-dimensional in CSV, si-l trimite ca fisier la browser ca sa fie descarcat
// (nume_fisier, date-csv, csv-header, delimitator)
$csv->output('coursesweb.csv', $csvData, $csvHeader, ',');
?>

Rezulta acest CSV:
category,link
tutorials,http://www.coursesweb.net/php-mysql/tutorials_t
scripts,http://www.coursesweb.net/php-mysql/scripts_s2
resources,http://www.coursesweb.net/php-mysql/download_l2

- In arhiva cu clasa parseCSV veti gasi mai multe exemple.
parseCSV Web Site.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care meta tag se foloseste pentru scurta descriere a paginii?
<meta content="..."> <meta description="..."> <meta http-equiv="...">
<meta name="description" content="70-160 caractere ce descriu continutul paginii" />
Ce proprietate CSS opreste efectul dat de "float"?
clear text-align position
#some_id {
  clear: both;
}
Clic pe metoda ce creaza un array cu toate elementele din pagina cu un anumit nume de tag.
getElementsByName() getElementById() getElementsByTagName()
var divs = document.getElementsByTagName("div");
var nr_divs = divs.length;
alert(nr_divs);
Indicati functia PHP ce returneaza numarul de elemente dintr-un array.
is_[) count() strlen()
$arr =[7, 8, "abc", 10);
$nri = count($arr);
echo $nri;        // 4
Indicati adverbul corespunzator adjectivului din paranteza in propozitia: "I live (happy)".
happly happily hapily
I live happily.
- Traiesc fericit (in mod fericit).
Indicati adverbul corespunzator adjectivului din paranteza in propozitia: "Vivo (feliz)".
felizamente felizmente felices
Vivo felizmente.
- Traiesc fericit (cu fericire).
parseCSV

Last accessed pages

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (55296)
  2. Alphabet and Pronunciation - Alfabetul si pronuntia in limba engleza (30692)
  3. Cursuri Limba Italiana (2701)
  4. Jokes - Glume, Bancuri, Humor (2) (2703)
  5. Prezent perfect si Prezent perfect continuu - Present perfect and Continuous (37130)

Popular pages this month

  1. Prezentul simplu si continuu - Present Tense Simple and Continuous (3316)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (2651)
  3. Gramatica limbii engleze - Prezentare Generala (2447)
  4. Prezent perfect si Prezent perfect continuu - Present perfect and Continuous (2118)
  5. Trecutul simplu si continuu - Past Tense Simple and Continuous (1747)