Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 8 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl
Dynamicznie tworzony formularz // nazwa tabeli, liczba pól <TITLE>Tworzenie tabeli bazy krok 1</TITLE> <H1>Nazwa tabeli i liczba pól<h1> <FORM METHOD= post ACTION= do_fielddef.php > <P><strong>Nazwa tabeli:</strong><br> <INPUT TYPE= text NAME= table_name SIZE=30></P> <P><strong>Liczba pól:</strong><br> <INPUT TYPE= text NAME= num_fields SIZE=5></P> <P><INPUT TYPE= submit NAME= submit VALUE= Krok 2 ></P> </FORM> zmienne $table_name oraz $num_fields
// definiowanie pól if ((!$table_name) (!$num_fields)) { echo Coś nie tak ; exit; } $form_block = <FORM METHOD=\ POST\ ACTION=\ do_table.php\ > <INPUT TYPE=\ hidden\ NAME=\ table_name\ VALUE=\ $table_name\ > <TABLE CELLSPACING=5 CELLPADING=5> <TR> <TH>NAZWA POLA</TH><TH>TYP POLA</TH><TH>DŁUGOŚĆ POLA</TH></TR> ; for ($i=0; $i < $num_fields; $i++) { $form_block.= <TR> <TD ALIGN=CENTER><INPUT TYPE=\ text\ NAME=\ field_name[]\ SIZE=\ 30\ ></TD> <TD ALIGN=CENTER> <SELECT NAME=\ field_type[]\ > <OPTION VALUE=\ char\ >char</option> <OPTION VALUE=\ date\ >date</option> <OPTION VALUE=\ float\ >float</option> <OPTION VALUE=\ int\ >int</option> <OPTION VALUE=\ text\ >text</option> <OPTION VALUE=\ varchar\ >varchar</option> </SELECT>
</TD> <TD ALIGN=CENTER><INPUT TYPE=\ text\ NAME=\ field_lenght[]\ SIZE=\ 5\ ></TD> </TR> ; } // koniec for $form_block.= <TR> <TD ALIGN=CENTER COLSPAN=3><INPUT TYPE=\ submit\ VALUE=\ Twórz tabelę\ ></TD> </TR> </TABLE> </FORM> ; <TITLE>Tworzenie tabeli bazy krok 2</TITLE> <H1>Zdefiniuj pola dla echo $table_name ; </H1> echo $form_block ; to będzie w pliku do_fielddef.php
// tworzenie tabeli już ostatecznie $db_name = testbd ; $con = @mysql_connect( localhost, user, pass ) or die( Nic z tego ); $db = @mysql_select_db($db_name, $con) or die( Błąd wyboru ); $sql = CREATE TABLE $table_name ( ; for ($i = 0; $i < count($field_name); $i++) { $sql.= $field_name[$i] $field_type[$i] ; if ($field_lenght[$i]!= ) { $sql.= ($field_lenght[$i]), ; } else { $sql.=, ; } } $sql = substr($sql, 0, -1); $sql.= ) ; <TITLE>Krok 3</TITLE> echo $msg ; $result = @mysql_query($sql, $con) or die( Nic z tego ); if ($result) { $msg = <P>$table_name została utworzona</p> ; }
Wyświetlanie zawartości katalogu $dir_name = /windows/pulpit/downloads/ $dir = opendir($dir_name); $file_list = <ul> ; while ($file_name = readdir($dir)) { if(($file_name!=. ) && ($file_name!=.. )) $file_name.= <li>$file_name ; } $file_list.= </ul> ; closedir($dir); <TITLE>Directory listing</title> <P>Pliki w: echo $dir_name ; </P> echo $file_list ;
Tworzenie nowego pliku $filename = /apache/dane.txt ; if(file_exists($filename)) $msg = <P>Plik już jest.</p>; else { $newfile = @fopen($filename, w+ ) or die( Nie udało się ); fclose($newfile); $msg = <P>Utworzono plik!</p> ; } <TITLE>Creating a new file</title> echo $msg ;
Dołączanie danych do pliku $filename = /apache/dane.txt ; $newstring = Text do pliku\n z nową linią ; $newfile = @fopen($filename, w+ ) or die( Nie udało się ); @fwrite($newfile, $newstring) or die( Błąd ); $msg = <P>Plik zawiera dane</p> ; fclose($newfile); <TITLE>Adding data to a file</title> echo $msg ;
Odczyt danych z pliku $filename = /apache/dane.txt ; $whatread = @fopen($filename, r ) or die( Błąd ); $file_con = fread($whatread, filesize($filename)); $msg = Plik zawiera:<br>$file_con ; fclose($whatread); <TITLE>Reading data from a file</title> echo $msg ;
Kopiowanie plików $source = /apache/dane.txt ; $dest = /apache/danestare.txt ; $yes = @copy($source, $dest) or die( Błąd ); if($yes) $msg = Kopiowanie się powiodło ; else $msg = Kopiowanie się nie udało ; <TITLE>Copy a file</title> echo $msg ;
Zmiana nazw plików $old_name = /apache/dane.txt ; $new_name = /apache/danestare.txt ; $yes = @rename($old_name, $new_name) or die( Błąd ); if($yes) $msg = Zmiana nazwy się powiodła ; else $msg = Nie udało się zmienić nazwy ; <TITLE>Rename a file</title> echo $msg ;
Usuwanie plików $file_name = /apache/dane.txt ; $yes = @unlink($file_name) or die( Błąd ); if($yes) $msg = Plik został usunięty ; else $msg = Nie udało się usunąć pliku ; <TITLE>Delete a file</title> echo $msg ;
feof koniec pliku int feof(id-plik) zwraca wartość logiczną czy osiągnięto koniec pliku fgets odczyt linii pliku string fgets(id-plik, [int limit]) zwraca linię pliku ogranicznik \n, chyba, że wcześniej EOF albo limit fgetss odczyt linii pliku string fgetss(id-plik, [int limit], [string znaczniki]) zwraca linię pliku ogranicznik \n, chyba, że wcześniej EOF albo limit, usuwa znaczniki PHP i HTML oraz wyszczególnione w wywołaniu fgetcsv odczyt do separatora string fgetcsv(id-plik, [int limit], string znaczniki) zwraca fragment pliku ograniczonego znacznikami
fgetc odczyt pojedynczego znaku char fgetc(id-plik) zwraca pojedynczy znak odczytany z pliku rewind przewinięcie pliku do początku int rewind(id-plik) jeśli przewinięcie pliku się nie powiodło zwraca zero ftell bieżąca pozycja pliku int ftell(id-plik) zwraca bieżącą pozycję wskaźnika pliku o ile w bajtach wskaźnik pliku jest przesunięty od początku fseek umieszczenie wskaźnika pliku w żądanym miejscu int fseek(id-plik, int offset) umieszcza wskaźnik offset bajtów od początku flock blokada pliku int flock(id-plik, int akcja) akcja: 1 - odczyt, 2 - wyłączność, 3 - zwolnienie, +4 - przeciwdziałanie