Obsługa plików csv

5
Obsługa plików csv Do odczytu z pliku csv można użyć następującego kodu: $fp = fopen ("strony.csv","r"); $num = 0; while ($data = fgetcsv ($fp, 1000, ";")) { $pages[$num] = $data; $num++; } Plik csv ma w tym przypadku postać: tekst; tekst2; tekst3; ... Widać tutaj analogie do polecenia SELECT * FROM nazwa OUTFILE ..... używanego w SQL do wyprowadzenia zawartości tabeli do pliku.

description

Obsługa plików csv. Do odczytu z pliku csv można użyć następującego kodu: $fp = fopen ("strony.csv","r"); $num = 0; while ($data = fgetcsv ($fp, 1000, ";")) { $pages[$num] = $data; $num++; } Plik csv ma w tym przypadku postać: tekst; tekst2; tekst3; ... - PowerPoint PPT Presentation

Transcript of Obsługa plików csv

Page 1: Obsługa plików csv

Obsługa plików csv

Do odczytu z pliku csv można użyć następującego kodu:

$fp = fopen ("strony.csv","r");$num = 0;while ($data = fgetcsv ($fp, 1000, ";")) {

$pages[$num] = $data; $num++;

}

Plik csv ma w tym przypadku postać:tekst; tekst2; tekst3; ...

Widać tutaj analogie do polecenia SELECT * FROM nazwa OUTFILE ..... używanego w SQL do wyprowadzeniazawartości tabeli do pliku.

Page 2: Obsługa plików csv

Do czego może przydać się plik csv?

1. Przechowywanie informacji w ‘pseudo’ bazie danych

zalety:

- nie potrzebna baza danych

wady:

- mała skuteczność działania

- skomplikowana obsługa

2. Tworzenie stron o elastycznej strukturze

Rozwijając temat 2:

Załóżmy, że chcemy utworzyć np.. katalog wyrobów elektronicznych,

który ma wyglądać jak obok.

Można wyróżnić pewne stałe elementy jak menu, nagłówek oraz

kartę towaru zawierającą tekst itp..

Jedną z metod utworzenia takiego katalogu i jego łatwej modyfikacji

jest zapisanie struktury serwisu w bazie danych lub pliku csv.

nagłówek

men

u

Nazwa towarujakiś tekst jakiś tekst jakiś tekst jakiś tekstjakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekstjakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekstjakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst jakiś tekst

<<poprzedni następny>>

Page 3: Obsługa plików csv

Szkielet serwisu

Szkielet serwisu można utworzyć na bazie tabeli w sposób następujący:

index.php

/ pomijam tutaj część <HEAD></HEAD> /

<HTML>

<BODY>

<TABLE BORDER=0>

<TR><TD COLSPAN=2><?php include(‘naglowek.html’); ?></TD></TR>

<TR>

<TD><?php include(‘menu.html’); ?></TD>

<TD><?php include(‘katalog.php’); ?></TD>

</TR>

</TABLE>

</BODY>

</HTML>

w pliku katalog.php będzie znajdować się cały ‘engine’ serwisu.

Page 4: Obsługa plików csv

Przełożenie struktury na plik

utwórzmy plik katalog.csv o następującej zawartości:

numer; nazwa pliku zawierającego kartę towaru

np..

0; towar1.html

1; towar2.html

....

pliki towar1.html, towar2.html i kolejne są fragmentami, które mają znaleźć się w polu <TD></TD>

tabeli utworzonej w index.php.

Page 5: Obsługa plików csv

Serce serwisu

Sercem serwisu jest kod, który odczytuje zawartość pliku katalog.csv i generuje odpowiedni kod HTML.

Całą operacje można podzielić na dwa etapy:

1. Odczytanie i odnalezienie odpowiedniego wpisu w pliku. Numer karty, która będzie wyświetlana będzie przekazywany za pomocą Query np.: index.php?karta=1. Brak zmiennej karta uznamy, za żądanie wyświetlenia pierwszej karty katalogu.

2. Wygenerowanie odpowiedniego kodu oraz linków do kolejnych kart katalogu.

Wszystko to robi poniższy kod, który zapisujemy w katalog.php:

if (!isset($numer)) { $numer=0;

$fp = fopen („katalog.csv","r");

$num = 0;

while ($data = fgetcsv ($fp, 1000, ";")) { $pages[$num] = $data; $num++; }

$file = $pages[$numer][1];

include($file);

if ($numer > 1) {

numer_p=numer-1;

print("<A HREF="\"index.php?numer=".$numer_p."\">poprzedni</A>";

}

if ($numer < num-1) {

numer_n=numer+1;

print("<A HREF="\"index.php?numer=".$numer_n."\">następny</A>";

}