Advertisement
Guest User

Untitled

a guest
Nov 27th, 2016
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 59.79 KB | None | 0 0
  1. d Day of the month, 2 digits with leading zeros 01 to 31
  2. D A textual representation of a day, three letters Mon through Sun
  3. j Day of the month without leading zeros 1 to 31
  4. l (lowercase 'L') A full textual representation of the day of the week Sunday through Saturday
  5. N ISO-8601 numeric representation of the day of the week (added in PHP 5.1.0) 1 (for Monday) through 7 (for Sunday)
  6. S English ordinal suffix for the day of the month, 2 characters st, nd, rd or th. Works well with j
  7. w Numeric representation of the day of the week 0 (for Sunday) through 6 (for Saturday)
  8. z The day of the year (starting from 0) 0 through 365
  9. Week --- ---
  10. W ISO-8601 week number of year, weeks starting on Monday (added in PHP 4.1.0) Example: 42 (the 42nd week in the year)
  11. Month --- ---
  12. F A full textual representation of a month, such as January or March January through December
  13. m Numeric representation of a month, with leading zeros 01 through 12
  14. M A short textual representation of a month, three letters Jan through Dec
  15. n Numeric representation of a month, without leading zeros 1 through 12
  16. t Number of days in the given month 28 through 31
  17. Year --- ---
  18. L Whether it's a leap year 1 if it is a leap year, 0 otherwise.
  19. o ISO-8601 week-numbering year. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. (added in PHP 5.1.0) Examples: 1999 or 2003
  20. Y A full numeric representation of a year, 4 digits Examples: 1999 or 2003
  21. y A two digit representation of a year Examples: 99 or 03
  22. Time --- ---
  23. a Lowercase Ante meridiem and Post meridiem am or pm
  24. A Uppercase Ante meridiem and Post meridiem AM or PM
  25. B Swatch Internet time 000 through 999
  26. g 12-hour format of an hour without leading zeros 1 through 12
  27. G 24-hour format of an hour without leading zeros 0 through 23
  28. h 12-hour format of an hour with leading zeros 01 through 12
  29. H 24-hour format of an hour with leading zeros 00 through 23
  30. i Minutes with leading zeros 00 to 59
  31. s Seconds, with leading zeros 00 through 59
  32. u Microseconds (added in PHP 5.2.2). Note that date() will always generate 000000 since it takes an integer parameter, whereas DateTime::format() does support microseconds if DateTime was created with microseconds. Example: 654321
  33. v Milliseconds (added in PHP 7.0.0). Same note applies as for u. Example: 654
  34. Timezone --- ---
  35. e Timezone identifier (added in PHP 5.1.0) Examples: UTC, GMT, Atlantic/Azores
  36. I (capital i) Whether or not the date is in daylight saving time 1 if Daylight Saving Time, 0 otherwise.
  37. O Difference to Greenwich time (GMT) in hours Example: +0200
  38. P Difference to Greenwich time (GMT) with colon between hours and minutes (added in PHP 5.1.3) Example: +02:00
  39. T Timezone abbreviation Examples: EST, MDT ...
  40. Z Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. -43200 through 50400
  41. Full Date/Time --- ---
  42. c ISO 8601 date (added in PHP 5) 2004-02-12T15:19:21+00:00
  43. r » RFC 2822 formatted date Example: Thu, 21 Dec 2000 16:01:07 +0200
  44.  
  45. echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
  46. time() - Return current Unix timestamp
  47. *****************************************************
  48. $tablica["imie"] = "Jan";
  49. $tablica["nazwisko"] = "Kowalski";
  50. $tablica["adres"] = "Polna 1";
  51.  
  52. while( list($klucz, $wartosc) = each($tablica) ) echo "$klucz => $wartosc<BR>";
  53.  
  54. *****************************************************
  55. $kraje = Array(
  56. 'Europa' => array('Polska', 'Anglia', 'Litwa', 'Francja'),
  57. 'Afryka' => array('Tunezja', 'Egipt', 'RPA', 'Etiopia'),
  58. 'Azja' => array('Chiny', 'Mongolia', 'Japonia', 'Kazachstan')
  59. );
  60.  
  61. foreach ( $kraje as $kraj )
  62. {
  63. echo "$kraj[0]\n";
  64. }
  65.  
  66.  
  67. *****************************************************
  68. asort()
  69. arsort()
  70. ksort()
  71. rsort()
  72. sort()
  73. uasort()
  74. usort()
  75. uksort()
  76.  
  77. *****************************************************
  78. <?php
  79.  
  80. // POLACZENIE
  81. $servername = "localhost";
  82. $username = "root";
  83. $password = "";
  84. $baza = "test php";
  85.  
  86. $polaczenie = mysqli_connect($servername, $username, $password, $baza)
  87. or die ("brak polaczenie");
  88.  
  89. //ZAPYTANIE
  90. $sql = "Select * from test";
  91. $wynik = mysqli_query($polaczenie, $sql);
  92.  
  93. //WYNIKI przypisane do tablicy i wypisane
  94. while($wiersz = mysqli_fetch_row($wynik)){
  95. for($i=0;$i<count($wiersz);$i++) echo $wiersz[$i]." ";
  96.  
  97. echo "<br>";
  98. }
  99.  
  100. //DODAJ
  101. /*$sql = "INSERT INTO test (id, imie, wiek) VALUES ('','ktos','37')";
  102. if ($polaczenie->query($sql) === TRUE) {
  103. echo "Rekord został dodany";
  104. }
  105. else{
  106. echo "Bład: " . $sql . "<br>" . $polaczenie->error;
  107. }*/
  108.  
  109. //UPDATE
  110. /*$sql = "UPDATE test SET imie='ktos' WHERE id=1";
  111. if ($polaczenie->query($sql) === TRUE) {
  112. echo "Rekord został updatowany";
  113. }
  114. else{
  115. echo "Bład: " . $sql . "<br>" . $polaczenie->error;
  116. }*/
  117.  
  118. //ZAMKNIJ polaczenie i FREE RESULT
  119. mysqli_free_result($wynik);
  120. mysqli_close($polaczenie);
  121. ?>
  122.  
  123.  
  124. *****************************************************
  125.  
  126. <?php
  127.  
  128. $servername = "localhost";
  129. $username = "root";
  130. $password = "";
  131. $baza = "test php";
  132.  
  133. $polaczenie = @new mysqli($servername, $username, $password, $baza);
  134.  
  135. if (mysqli_connect_errno() != 0){
  136. echo '<p>Wystąpił błąd połączenia: ' . mysqli_connect_error() . '</p>';
  137. }
  138.  
  139. $sql = "SELECT * FROM test";
  140. $wynik = @$polaczenie -> query($sql);
  141.  
  142. while (($wiersz = $wynik -> fetch_assoc()) !==null){
  143. echo $wiersz['id']." ".$wiersz['imie']." ".$wiersz['wiek'];
  144. echo "<br/>";
  145. }
  146.  
  147. /*$sql = "INSERT INTO test (Id, imie, wiek) VALUES ('', 'Kowalski', '13')";
  148. if ($polaczenie->query($sql) === TRUE) {
  149. echo "Rekord został dodany";
  150. }
  151. else {
  152. echo "Bład: " . $sql . "<br>" . $polaczenie->error;
  153. }*/
  154.  
  155. /*$sql = "UPDATE test SET imie='ktos' WHERE id=4";
  156. if ($polaczenie->query($sql) === TRUE) {
  157. echo "Rekord został updatowany";
  158. }
  159. else {
  160. echo "Bład: " . $sql . "<br>" . $polaczenie->error;
  161. }*/
  162.  
  163. mysql -> free($wynik);
  164. polacznie -> close();
  165.  
  166. ?>
  167.  
  168. *****************************************************
  169.  
  170. <?php
  171. $servername = "localhost";
  172. $username = "root";
  173. $password = "";
  174. $baza="test php";
  175.  
  176. try{
  177. $polaczenie = new PDO("mysql:host=$servername;dbname=$baza", $username, $password);
  178.  
  179. foreach($polaczenie->query('SELECT * FROM test') as $wiersz) {
  180. echo $wiersz['id'].' '.$wiersz['imie'].' '.$wiersz['wiek'].'<br/>';
  181. }
  182. }
  183. catch (PDOException $e){
  184. echo "Brak polaczenia: " . $e->getMessage();
  185. }
  186.  
  187. /*try {
  188. $sql = "INSERT INTO test (id, imie, wiek) VALUES ('', 'Jan', '10')";
  189. $polaczenie->exec($sql);
  190. echo "Rekord został dodany";
  191. }
  192. catch(PDOException $e){
  193. echo $sql . "<br>" . $e->getMessage();
  194. }*/
  195.  
  196.  
  197. try {
  198. $sql = "UPDATE test SET imie = 'ktos 123' WHERE id='9'";
  199. $polaczenie->exec($sql);
  200. echo "Rekord został zmodyfikowany";
  201. }
  202. catch(PDOException $e){
  203. echo $sql ."<br>" . $e->getMessage();
  204. }
  205.  
  206. ?>
  207.  
  208.  
  209. *****************************************************
  210. SELECT column_name AS alias_name
  211. FROM table_name;
  212.  
  213. UPDATE table_name
  214. SET column1=value1,column2=value2,...
  215. WHERE some_column=some_value;
  216.  
  217. DELETE FROM table_name
  218. WHERE some_column=some_value;
  219.  
  220. SELECT column_name(s)
  221. FROM table_name
  222. WHERE column_name BETWEEN value1 AND value2;
  223.  
  224. SELECT column_name(s)
  225. FROM table1
  226. INNER JOIN table2
  227. ON table1.column_name=table2.column_name;
  228.  
  229. SELECT column_name(s)
  230. FROM table1
  231. LEFT JOIN table2
  232. ON table1.column_name=table2.column_name;
  233.  
  234. SELECT AVG(column_name) FROM table_name
  235. SELECT COUNT(column_name) FROM table_name;
  236. SELECT FIRST(column_name) FROM table_name;
  237. SELECT MAX(column_name) FROM table_name;
  238. SELECT SUM(column_name) FROM table_name;
  239.  
  240.  
  241. SELECT
  242. FROM
  243. WHERE
  244. GROUP BY
  245. HAVING / HAVING, polega na filtrowaniu całych grup rekordów
  246. ORDER BY / ASC DESC
  247.  
  248. SELECT City, COUNT(CustomerID) as CustQty
  249. FROM dbo.Customers
  250. WHERE Country = 'Brazil'
  251. GROUP BY City
  252. HAVING COUNT(CustomerID)>1
  253. ORDER BY City
  254.  
  255. http://www.sqlpedia.pl/having-filtrowanie-grup/
  256.  
  257. PLIKI
  258.  
  259. Otwieranie i zamykanie plików
  260. Wszystkie funkcje obsługi plików (oprócz tej otwierającej plik) jako parametr pobierają tzw. „wskaźnik do pliku” (ang. „file pointer”). Jest to wartość zmiennej określająca otwarty plik. Jest to niezbędne, ponieważ skrypt może otworzyć jednocześnie wiele plików i na wszystkich jednocześnie pracować.
  261.  
  262. Wskaźnik to pliku jest zwracany przez funkcję fopen( nazwa pliku, string tryb ). Drugi parametr określa tryb otwarcia pliku. Tryb trzeba dobrać odpowiednio do tego, co się chce z plikiem robić. Możliwe tryby to:
  263.  
  264. ‚r’
  265. plik tylko do odczytu; wewnętrzny wskaźnik pliku umieszczany jest na początku pliku
  266.  
  267. ‚r+’
  268. plik do odczytu i zapisu; wewnętrzny wskaźnik pliku umieszczany jest na początku pliku
  269.  
  270. ‚w’
  271. plik tylko do zapisu; wewnętrzny wskaźnik pliku umieszczany jest na końcu pliku; zawartość pliku jest niszczona (długość pliku jest zmieniana na zero); jeśli plik nie istnieje PHP próbuje go stworzyć
  272.  
  273. ‚w+’
  274. plik do odczytu i do zapisu; wewnętrzny wskaźnik pliku umieszczany jest na końcu pliku; zawartość pliku jest niszczona (długość pliku jest zmieniana na zero); jeśli plik nie istnieje
  275.  
  276. ‚a’
  277. plik tylko do zapisu; wewnętrzny wskaźnik pliku umieszczany jest na końcu pliku; jeśli plik nie istnieje PHP próbuje go stworzyć
  278.  
  279. Pozycja „wewnętrznego wskaźnika pliku” określa, w którym miejscu zaczęłoby się pisać do pliku, gdyby zaczęło się pisać lub czytać z tego pliku zaraz po otwarciu pliku. Jeśli jest na końcu – to znaczy że dane dopisywane są na końcu.
  280.  
  281. Przykład 11.1. Otwarcie pliku do odczytu
  282.  
  283.  
  284. <?
  285.  
  286. $fp = fopen("dane.txt", "r");
  287.  
  288. ?>
  289.  
  290.  
  291. Zmienna $fp zawiera teraz wskaźnik do pliku dane.txt. Wskaźnik ten trzeba podać przy każdej funkcji, która w jakiś sposób operuje na tym pliku.
  292.  
  293. Jeśli otworzyliśmy ten plik, to teraz trzeba go jakoś zamknąć. Jeśli nie zamkniemy pliku ręcznie, to PHP zrobi to za nas po zakończeniu działania skryptu. Nie sprawia to różnicy jeśli na stronie operujemy tylko jednym plikiem lub np. po zapisaniu danych do pliku już się nim nie interesujemy. Inaczej sprawa wygląda jeśli po zapisaniu danych do pliku chcemy później go odczytać – dopiero po zamknięciu pliku zmiany w nim będą widoczne. A do zamknięcia pliku służy funkcja fclose(int wskaźnik).
  294.  
  295. Wewnętrzny wskaźnik pliku
  296. Wewnętrzny wskaźnik pliku, jak już napisałem wyżej, oznacza miejsce w pliku oznaczające ‚bieżącą lokalizację’ – czyli miejsce w którym zaczęłoby się pisanie lub czytanie. Większość funkcji, które operują na plikach powodują przesunięcie tego wskaźnika – każde zapisanie i odczyt z pliku powodują przesunięcie tego wskaźnika. Można jednak wymusić takie przesunięcie – na przykład żeby zacząć czytanie od pewnego miejsca lub żeby pominąć jakiś fragment danych. Służy do tego funkcja fseek(int wskaźnik, int przesunięcie [, int typ_przesunięcia]) . Jak widać, funkcja pobiera 2 obowiązkowe argument i jeden opcjonalny. Pierwszy parametr to wskaźnik pliku – funkcja musi wiedzieć w którym pliku ma przesuwać wskaźnik. Drugi to numer znaku na który ma być przesunięty wskaźnik. Ostatni określa typ przesunięcia (możliwe wartości to: SEEK_SET, SEEK_CUR i SEEK_END). Domyślną wartością jest SEEK_SET. Oznacza to, że wewnętrzny wskaźnik pliku zostanie ustawiony na pozycji przesunięcie. Ustawienie ostatniego parametru na SEEK_CURR spowoduje, że wskaźnik pliku zostanie przesunięty o przesunięcie znaków od bieżącego miejsca. Natomiast wybranie typu SEEK_END spowoduje, że wskaźnik zostanie ustawiony o przesunięcie znaków za końcem pliku. Istnieje też funkcja rewind( int wskaźnik ), który przesuwa wewnętrzny wskaźnik pliku na początek pliku.
  297.  
  298. Odczyt z plików
  299. Odczyt z pliku może być przeprowadzany na 2 sposoby jeden to „niskopoziomowe” czytanie danych z pliku za pomocą funkcji fread( int wskaźnik, int długość). Czyta ona dane odczytane z pliku, określonego przez utworzony wcześniej „wskaźnik” (jak pisałem wcześniej, wskaźniki są zwracane przez funkcję fopen()). Dane są czytane do długości określonej w drugim parametrze. Jeśli danych jest mniej niż podana długość, to poprostu zwrócone zostaną wszystkie dane z pliku.
  300.  
  301. Funkcja fread() powoduje przesunięcie wewnętrznego wskaźnika pliku – do miejsca, w którym zakończyło się czytanie. Może teraz jakiś przykład. Mamy przykładowy plik test.txt – z dowolną treścią.
  302.  
  303. Przykład 11.2. Odczyt danych z pliku
  304.  
  305.  
  306. <?php
  307.  
  308. $fp = fopen("test.txt", "r");
  309. $tekst = fread($fp, 10);
  310.  
  311. ?>
  312.  
  313.  
  314. Funkcją fopen otwarty został plik do odczytu a następnie odczytanych zostało z niego 10 znaków, a więc zmienna $tekst będzie zawierała „To jest pr”. Przesunięty został wewnętrzny wskaźnik pliku, a więc następne wywołanie linii „$tekst = fread($fp, 10)” spowoduje, że w tej zmiennej będzie tekst „zykładowy ” – poprostu następne czytanie zacząło się od miejsca, w który zakończyło czytać poprzednie wywołanie tej funkcji.
  315.  
  316. Jeszcze może praktyczny przykład – jak wczytać cały plik do zmiennej? Trzeba do tego użyć jeszcze jednej funkcji – filesize( string nazwa_pliku ). Jak widać, różni się ona od pozostałych funkcji tym, że nie pobiera jako parametr wskaźnika do pliku ale nazwę pliku. Pobieranie całości pliku do zmiennej można załatwić jedną linijką.
  317.  
  318. Przykład 11.3. Wczytywanie całości pliku
  319.  
  320.  
  321. <?php
  322.  
  323. $dane = fread(fopen("nazwa_pliku", "r"), filesize("nazwa_pliku"));
  324. ?>
  325.  
  326.  
  327. Funkcja fread() będzie czytać dane bez przerwy – od początku pliku do końca, ignorując znaki końca linii – dla tej funkcji to poprostu zwykły znak.
  328.  
  329. Cały plik można wczytać też w jeszcze jeden sposób. Funkcja file($nazwa_pliku) zwraca tablicę, w której każdy element jest osobnym wierszem z pliku, którego nazwa jest podana w parametrze. Funkcję tą można wykorzystać do wczytania całego pliku do jednego stringa.
  330.  
  331. Przykład 11.4. Wczytywanie całości pliku przy użyciu funkcji file
  332.  
  333.  
  334. <?php
  335.  
  336. $plik = implode('', file('nazwa_pliku'));
  337.  
  338. ?>
  339.  
  340.  
  341. Samo wczytanie pliku do tablicy może być przydatne. Traktując plik jako bazę danych, w której każdy wiersz to jeden rekord, wczytanie takiego pliku od razu do tablicy oszczędza wiele pracy przy ręcznym rozbijaniu pliku na wiersze.
  342.  
  343. Zapis do pliku
  344. Dane do pliku można zapisać przy pomocy funkcji fputs( int wskaznik, string napis, int długość). Jak przy większości funkcji operujących na plikach, niezbędne jest podanie wskaźnika pliku na którym chcemy operować. Zapisać można albo całą zawartość zmiennej podanej jako drugi parametr, albo tylko do pewnej długości, którą to nalezy podać jako trzeci, opcjonalny parametr (oczywiście przy pominięciu tego parametru zapisywana jest cała zmienna podana w drugim parametrze). Zapis odbywa się w miejscu, na który wskazuje wewnętrzny wskaźnik pliku, nadpisując dane jeśli wskaźnik ten nie znajduje się na końcu pliku. Nie ma żadnej możliwości bezpośredniego zapisania danych na początku lub w środku pliku. Jedyna możliwość to wczytanie pliku do tymczasowej zmiennej, poprawienie tych danych i ponowny zapis tego pliku.
  345.  
  346. Przykład 11.5. Zapis do pliku
  347.  
  348.  
  349. <?
  350.  
  351. // wczytanie starych danych
  352.  
  353. // otwarcie pliku do odczytu
  354. $fp = fopen("plik.txt", "r");
  355.  
  356. //odczytanie danych
  357. $stareDane = fread($fp, filesize("plik.txt"));
  358.  
  359. // zamknięcie pliku
  360. fclose($fp)
  361.  
  362. // stworzenie nowych danych
  363.  
  364. $noweDane = "To, co chcesz, żeby było na początku\n";
  365. $noweDane .= $stareDane;
  366.  
  367. // zapisanie nowych danych
  368.  
  369. // otwarcie pliku do zapisu
  370. $fp = fopen("plik.txt", "w");
  371.  
  372. // zapisanie danych
  373. fputs($fp, $noweDane);
  374.  
  375. // zamknięcie pliku
  376. fclose($fp);
  377. ?>
  378.  
  379.  
  380. Zapis na koniec pliku jest łatwy – wystarczy otworzyć plik w trybie „a” i od razu można dodować dane do pliku.
  381.  
  382. Przycinanie plików
  383. PHP zawiera funkcję służącą do zmniejszania rozmiaru pliku do zadanej wielkości. Funkcja ftruncate(int wskaźnik, int rozmiar) służy właśnie do czegoś takiego. Należy pamiętać, że wszelkie dane, które znajdują się powyżej podanego rozmiaru, będą utracone.
  384.  
  385. Blokowanie plików
  386. Blokowanie plików jest jednym z ważniejszych zagadanień przy używaniu plików do przechowywania danych. W zastosowaniach internetowych może dojść do takiej sytuacji, że dwie lub więcej osób jednocześnie wejdzie na stronę czy po prostu uruchomi skrypt. Jeśli będzie to na przykład licznik odwiedzin przechowujący ilość odwiedzin w pliku, to te kilka osób będzie chciało zapisać dane do tego pliku jednocześnie. Może to doprowadzić do utraty danych z tego licznika. Wystarczy jednak zastosować mechanizm blokad aby zapobiec takiej sytuacji.
  387.  
  388. Funkcja flock( int wskaźnik, int operacja ) zakłada blokadę lub ją zdejmuje, zależnie od wartości drugiego parametru. Są 2 typy blokad: blokada dzielona, używana jeśli plik ma być odczytywany (dzielona, ponieważ więcej niż jeden skrypt może utrzymywać taką blokade na pliku) , i blokada wyłączna, zakładana jeśli plik ma być zapisywany. Drugi parametr funkcji może mieć takie wartości:
  389.  
  390. LOCK_SH
  391. aby założyć blokadę dzieloną
  392.  
  393. LOCK_EX
  394. aby założyć blokadę wyłączną
  395.  
  396. LOCK_UN
  397. aby zdjąć blokadę, wszystko jedno jaką
  398.  
  399. Teraz wiadomo jak założyć i zdjąć blokadę. Ale jak wykorzystać to w praktyce? Otóż funkcja flock() zwraca wartość true lub false w zależności od tego, czy udało się założyć blokadę czy nie. Przykładowo, jeśli na pliku założona jest blokada dzielona, to można ten plik jeszcze raz zablokować do odczytu, ale do zapisu już nie. Jeśli natomiast założona jest blokada wyłączna, to żaden inny skrypt nie może już założyć blokady do czasu aż ta blokada zostanie zdjęta.
  400.  
  401. Zależnie od zastosowania, można różnie reagować na niemożność założenia blokady. Można albo przerwać skrypt albo czekać na zdjęcie blokady. W przypadku licznika jedne odwiedziny w tą czy tamtą nie mają znaczenia w obliczu konieczności czekania na zakończenie działania innego skryptu – pewnie będą to ułamki sekund, ale bywa z tym różnie (zwłaszcza, jeśli takich czekających jest więcej). Natomiast jeśli chodzi o blokadę bazy danych, to czekanie na zdjęcie blokady jest koniecznością.
  402.  
  403. Przykład 11.6. Licznik odwiedzin z blokowaniem bazy
  404.  
  405.  
  406.  
  407. <?
  408.  
  409. // Konfiguracja
  410.  
  411. // Nazwa pliku zawierającego licznik - względna do katalogu, w którym
  412. // jest strona na której ma być licznik
  413.  
  414. $df = "lib/count.dat";
  415.  
  416. // Próba otwarcia pliku do odczytu
  417.  
  418. if(!($fp=@fopen($df, "r"))){
  419.  
  420. // Jeśli plik jeszcze nie istnieje, to jest inicjowany wartością 0
  421.  
  422. $count=0;
  423. }
  424. else { // jeśli istnieje, to jego wartość jest odczytywana a plik zamykany
  425. $count = fgets($fp, 100);
  426. fclose($fp);
  427. }
  428.  
  429. // Zwiększenie licznika o 1
  430.  
  431. $count+=1;
  432.  
  433. // Otwarcie pliku do zapisu
  434.  
  435. $fp = fopen($df, "w");
  436.  
  437. // Blokada - jeśli plik już jest zablokowany, to skrypt go zamyka i kończy
  438. // działanie
  439.  
  440. if(!flock($fp, LOCK_EX)){
  441. fclose($fp);
  442. return;
  443. } else { // Jeśli nie jest zablokowany, to następuje blokada i zapis danych
  444. fputs($fp, $count);
  445. flock($fp, LOCK_UN);
  446. fclose($fp);
  447. }
  448.  
  449. // Wyświetlenie stanu licznika
  450.  
  451. echo $count;
  452.  
  453. ?>
  454.  
  455.  
  456. Ten plik możemy zapisać np. jako count.php i w odpowiednim miejscu na stronie, gdzie ma się pojawić licznik, należy wpisać <?include "count.php"?>. Jeśli pojawią się błedy w stylu „Permission denied” oznacza to, że coś jest nie tak z prawami dostępu do pliku z danymi, a jeśli jeszcze on nie istnieje, to z prawami do katalogu gdzie ma być ten licznik. Serwer WWW powinien mieć prawa zapisu do tego pliku/katalogu.
  457.  
  458. Funkcje informacyjne
  459. Przy skryptach przeznaczonych do obsługi serwera czy na przykład analizujących system plików niezbędne jest uzyskanie informacji o konkretnym pliku. PHP oferuje cały zestaw funkcji zwracających dane o pliku o podanej ścieżce. Chyba najlepiej je wypunktować.
  460.  
  461. Funkcje informacyjne
  462.  
  463. fileatime($nazwa_pliku)
  464. zwraca czas ostatniego odczytu pliku; czas ten jest zwracany w postaci timestamp (co to jest timestamp i jak tego używać – w następnym rozdziale)
  465.  
  466. filectime($nazwa_pliku)
  467. zwraca czas ostatniej modyfikacji i-węzła (dotyczy tylko systemów Unix) w formacie timestamp
  468.  
  469. filemtime($nazwa_pliku)
  470. zwraca czas ostatniej modyfikacji pliku w formacie timestamp
  471.  
  472. fileowner($nazwa_pliku)
  473. zwraca identyfikator użytkownika, który jest właścicielem pliku
  474.  
  475. filegroup($nazwa_pliku)
  476. zwraca identyfikator grupy, do której należy plik (tylko Unix)
  477.  
  478. fileinode($nazwa_pliku)
  479. zwraca numer i-węzła do którego przypisany jest plik (tylko Unix)
  480.  
  481. fileperms($nazwa_pliku)
  482. zwraca prawa dostępu do pliku
  483.  
  484. filesize($nazwa_pliku)
  485. zwraca wielkość pliku w bajtach
  486.  
  487. filetype($nazwa_pliku)
  488. zwraca typ pliku (tylko UNIX); możliwe typy to „fifo”, „char”, „dir”, „block”, „link”, „file”, „unknown” dla odpowiednio kolejek fifo, urządzeń znakowych, katalogów, urządzeń blokowych, dowiązań, zwykłych plików i nieznanych typów
  489.  
  490. stat($nazwa_pliku)
  491.  
  492. funkcja ta zwraca tablicę zawierającą pełne informacje o pliku. Kolejne indeksy zawierają:
  493.  
  494. urządzenie
  495. i-węzeł
  496. tryb zabezpieczenia i-węzła
  497. liczba dowiązań
  498. id właściciela
  499. id grupy
  500. typ urządzenia jeśli urządzenie jest oparte na i-węzłach
  501. rozmiar w bajtach
  502. czas ostatniego dostępu
  503. czas ostatniej modyfikacji i-węzła
  504. czas ostatniej zmiany
  505. rozmiar bloku
  506. liczba bloków
  507. Jeśli funkcja ta jest wywołana na dowiązaniu symbolicznym, to informacje te będą dotyczyły pliku, na który wskazuje dowiązanie. Aby uzyskać informacje o samym dowiązaniu, należy użyć funkcji lstat() (zwracane wartości są takie same jak w przypadku funkcji stat() )
  508.  
  509. Funkcje logiczne (zwracają wartość true lub false)
  510.  
  511. is_dir($nazwa_pliku)
  512. czy plik o podanej ścieżce jest katalogiem
  513.  
  514. is_executable($nazwa_pliku)
  515. czy plik jest wykonywalny
  516.  
  517. is_file($nazwa_pliku)
  518. czy plik jest normalnym plikiem
  519.  
  520. is_link($nazwa_pliku)
  521. czy plik jest dowiązaniem
  522.  
  523. is_readable($nazwa_pliku)
  524. czy plik można czytać
  525.  
  526. is_writable($nazwa_pliku)
  527. czy do pliku można pisać
  528.  
  529. is_uploaded_file($nazwa_pliku)
  530.  
  531. czy plik został przesłany z formularza
  532.  
  533. Operacje na plikach i katalogach
  534. Kopiowanie
  535. Do kopiowania plików służe funkcja o jakże zaskakującej nazwie copy(). Pierwszy parametr to plik źródłowy a drugi to plik lub katalog docelowy. Funkcja ta zwraca wartość true jeśli kopiowanie się powiodło lub false w przeciwnym przypadku. Dobrze jest sprawdzać czy kopiowanie się powiodło.
  536.  
  537. Przykład 11.7. Sprawdzanie powodzenia kopiowania
  538.  
  539.  
  540. <?php
  541.  
  542. copy($source, $destination) or die("Błąd przy kopiowaniu");
  543.  
  544. ?>
  545.  
  546.  
  547. Przenoszenie i zmiana nazwy
  548. Funkcja służaca do przenoszenia i zmiany nazwy pliku sugeruje tylko tą drugą funkcję, jednak bardzo dobrze spisuje się w obu zastosowaniach. Funkcja rename() pobiera 2 argumenty: nazwę pliku źródłowego oraz nazwę pliku docelowego jeśli funkcja ma zmienić nazwę, nazwę katalogu jeśli plik ma być przeniesiony, lub ścieżkę wraz z nową nazwą, jeśli plik ma być przeniesiony ze zmianą nazwy.
  549.  
  550. Przykład 11.8. Sposoby użycia funkcji rename
  551.  
  552.  
  553. <?
  554. rename("aaa", "bbb"); // zmiana nazwy pliku "aaa" na "bbb"
  555. rename("bbb", "test/"); // przeniesienie pliku "bbb" do katalogu "test"
  556. rename("aaa", ".."); // przeniesienie pliku "aaa" do katalogu nadrzędnego
  557. rename("aaa", "test/bbb"); // przeniesienie pliku "aaa" do katalogu "test"
  558. // ze zmianą nazwy na "bbb"
  559. ?>
  560.  
  561.  
  562. Usuwanie
  563. Usuwanie plików jest rzeczą sprawiającą najwięcej trudności początkującym programistom PHP. Dzieje się tak głównie dlatego, że funkcja usuwająca pliki nazywa się unlink($nazwa_pliku), co jest wynikiem tego, że PHP powstało początkowo pod systemy Uniksowe. Funkcja ta może nie działać pod systemami Windows – tam najoczywistszym rozwiązaniem jest wywołanie programu del z odpowiednim parametrem.
  564.  
  565. Do usuwania katalogów służy funkcja rmdir($nazwa).
  566.  
  567. Tworzenie katalogów
  568. Tworzeniem katalogów zajmuje się funkcja mkdir($nazwa_katalogu, $tryb). Drugi parametr określa tryb utworzenia katalogu (prawa dostępu). Nie ma w zasadzie co tu opisywać – funkcja zwraca wartość true jeśli katalog został utworzony lub false w przeciwnym przypadku.
  569.  
  570. Prawa dostępu (tylko UNIX)
  571. Unix i pochodne, jako systemu przeznaczone dla wielu użytkowników, zawierają system zabezpieczania dostępu do plików przez niepowołane osoby. System ten opiera się o przydzielanie praw poszczególnym osobom (a konkretniej ich kontom systemowym) oraz grupom, do których użytkownicy należą.
  572.  
  573. Każdemu plikowi i katalogowi w systemie można przypisać 3 komplety praw. Każdy z tych kompletów to: prawo wykonywania (litera ‚x’ lub liczba 1) – w przypadku katalogów oznacza to możliwość ‚wejścia’ w niego, prawo zapisu (litera ‚w’ lub liczba 2) i prawo odczytu (litera ‚r’ lub liczba 4).
  574.  
  575. Pierwszy komplet tych praw dotyczy właściciela pliku, drugi grupy a trzeci użytkowników, którzy nie są właścicielami ani nie należą do grupy. Liczby przypisane konkretnym prawom służą do zapisu ósemkowego. Zapis taki to 3 cyfry, z których każda odpowiada kompletowi praw – sumie liczb oznaczających prawa. Przyładowo, liczba 7 to komplet praw wykonywania, zapisu i odczytu (1+2+4=7) a liczba 5 to prawo odczytu i wykonywania (1+4=5). Czyli aby nadać właścicielowi komplet praw, grupie odczyt i zapis a reszcie tylko odczyt, należy ustawić prawa „0764” (cyfra zero na początu służy do poinformowania PHP, że liczba zapisana jest w formacie ósemkowym).
  576.  
  577. Do ustawiania praw dostępu służy funkcja chmod($nazwa_pliku, $tryb), gdzie drugi parametr to prawa dostępu zapisane w formacie ósemkowym. Inne funkcje przydatne przy pracy z systemem zabezpieczeń to chown($nazwa_pliku, $user), zmieniająca właściciela pliku, i chgrp($nazwa_pliku, $grupa), zmieniająca grupę.
  578.  
  579. Ustawienie odpowiednich praw dostępu to sprawa bardzo ważna w przypadku skryptów zapisujących coś do plików. Błąd „Permission denied” zdarza się bardzo często i można go rozwiązać właśnie przez ustawienie odpowiednich praw. Aby skrypt mógł coś zapisać w pliku, niezbędne jest ustawienie prawa zapisu do tego pliku. PHP zazwyczaj pracuje jako użytkownik nobody lub http – można to sprawdzić wywołując funkcję phpinfo().
  580.  
  581. Przetwarzanie ścieżki
  582. PHP posiada wiele funkcji do analizy i przetwarzania zmiennych tekstowych, które zawierają ścieżkę do pliku. Funkcja basename($path) zwraca nazwę pliku a dirname($path) wszystko oprócz nazwy pliku. Z kolei funkcja pathinfo($path) zwraca tablicę asocjacyjną zawierającą informację o ścieżce podanej jako parametr – klucz „dirname” zawiera nazwę katalogu, „basename” nazwę pliku a „extension” – rozszerzenie pliku.
  583.  
  584. Przykład 11.9. Przetwarzanie ścieżki
  585.  
  586.  
  587. <?php
  588.  
  589. $path = "/home/httpd/html/index.html";
  590. echo dirname($path); // wyświetli "/home/httpd/html"
  591. echo basename($path); // wyświetli "index.html"
  592. $arr = pathinfo($path);
  593. echo $arr["dirname"]; // wyświetli "/home/httpd/html"
  594. echo $arr["basename"]; // wyświetli "index.html"
  595. echo $arr["extension"]; // wyświetli "html"
  596. ?>
  597.  
  598.  
  599. Operacje na katalogach
  600. Istnieją 2 mechanizmy przeglądania zawartości katalogów. Pierwszy to mechanizm oparty na dwóch funkcjach: opendir($katalog) i readdir($handle). Funkcja opendir($katalog) otwiera katalog o podanej nazwie i zwraca uchwyt do niego. Z kolei funkcja readdir($handle) za każdym wywołaniem zwraca nazwę kolejnego pliku/katalogu z otwartego katalogu.
  601.  
  602.  
  603. Przykład 11.10. Wyświetlenie wszystkich nazw plików z katalogu /tmp
  604.  
  605.  
  606. <?php
  607.  
  608. if ($dir = @opendir("/tmp")) {
  609. while($file = readdir($dir)) {
  610. echo "$file\n";
  611. }
  612. closedir($dir);
  613. }
  614.  
  615. ?>
  616.  
  617.  
  618. Drugi sposób oparty jest na mechanizmie pseudo-obiektowym.
  619.  
  620. Przykład 11.11. Odczytywanie zawartości katalogu przy uzyciu funcji dir
  621.  
  622.  
  623. <?php
  624.  
  625. $d = dir("/etc");
  626. echo "Handle: ".$d->handle."<br>\n";
  627. echo "Path: ".$d->path."<br>\n";
  628. while($entry=$d->read()) {
  629. echo $entry."<br>\n";
  630. }
  631. $d->close();
  632.  
  633. ?>
  634.  
  635.  
  636.  
  637. Kilka słów omówienia. Obiekt zwraceny przez funkcję dir($katalog) posiada 3 metody: metoda handle() zwraca zwykły uchwyt, który może być używany w funkcji readdir(), metoda path() zwraca string zawierający ścieżkę do katalogu a metoda read() zwraca kolejne nazwy plików/katalogów, podobnie jak funkcja readdir().
  638.  
  639. Dla funkcji readdir() i metody read() nie ma różnicy między plikiem lub katalogiem – zwracane są wszystkie nazwy z katalogu. A czy to jest katalog programista musi sam sprawdzić za pomocą funkcji is_dir().
  640.  
  641.  
  642. JS
  643.  
  644.  
  645. JavaScript – skryptowy język programowania
  646.  
  647. Spis treści
  648.  
  649. Sposoby umieszczania skryptów JavaScript ........................................................................................................... 2
  650.  
  651. Okna dialogowe ...................................................................................................................................................... 2
  652.  
  653. Informacyjne ....................................................................................................................................................... 2
  654.  
  655. Decyzyjne ........................................................................................................................................................... 2
  656.  
  657. Tekstowe ............................................................................................................................................................. 2
  658.  
  659. Instrukcja document.write ....................................................................................................................................... 2
  660.  
  661. Komentarze ............................................................................................................................................................. 2
  662.  
  663. Zmienne .................................................................................................................................................................. 3
  664.  
  665. Operatory ................................................................................................................................................................ 3
  666.  
  667. Operatory arytmetyczne ...................................................................................................................................... 3
  668.  
  669. Operator łańcuchowy .......................................................................................................................................... 3
  670.  
  671. Operatory przypisania ......................................................................................................................................... 3
  672.  
  673. Operatory inkrementacji i dekrementacji ............................................................................................................ 4
  674.  
  675. Operatory porównania ......................................................................................................................................... 4
  676.  
  677. Operatory logiczne .............................................................................................................................................. 4
  678.  
  679. Instrukcje sterujące ................................................................................................................................................. 5
  680.  
  681. Instrukcje warunkowe ......................................................................................................................................... 5
  682.  
  683. Pętle .................................................................................................................................................................... 5
  684.  
  685. Instrukcja switch ................................................................................................................................................. 5
  686.  
  687. Funkcje .................................................................................................................................................................... 6
  688.  
  689. Definiowanie własnych funkcji ........................................................................................................................... 6
  690.  
  691. Funkcje wbudowane ........................................................................................................................................... 6
  692.  
  693. Obiekty przeglądarki ............................................................................................................................................... 7
  694.  
  695. Obiekt window .................................................................................................................................................... 7
  696.  
  697. Obiekt navigator .................................................................................................................................................. 7
  698.  
  699. Obiekt document ................................................................................................................................................. 8
  700.  
  701. Obiekt location .................................................................................................................................................... 9
  702.  
  703. Obiekt history .................................................................................................................................................... 10
  704.  
  705. Obiekt string ...................................................................................................................................................... 10
  706.  
  707. Obiekt data ........................................................................................................................................................ 11
  708.  
  709. Obiekt math ....................................................................................................................................................... 12
  710.  
  711. Zdarzenia............................................................................................................................................................... 13
  712.  
  713. Zdarzenie myszy ............................................................................................................................................... 13
  714.  
  715. Zdarzenie klawiatury ......................................................................................................................................... 14
  716.  
  717. Zdarzenia formularz i elementów formularza ................................................................................................... 14
  718.  
  719. Zdarzenia dokumentu ........................................................................................................................................ 14
  720.  
  721.  
  722.  
  723.  
  724.  
  725. 1
  726.  
  727. Sposoby umieszczania skryptów JavaScript
  728.  
  729. <script type=”text/javascript”>
  730. kod skryptu
  731. </script>
  732.  
  733. <script type=”text/javascript” src=”lokalizacja/nazwa.js”></script>
  734.  
  735.  
  736. Okna dialogowe
  737.  
  738.  
  739. Informacyjne
  740.  
  741. <script>
  742. alert(„Witaj, swiecie!”);
  743. </script>
  744.  
  745.  
  746. Decyzyjne
  747.  
  748. <script>
  749. confirm(„Chcesz wykonać operacje X”);
  750. </script>
  751.  
  752.  
  753. Tekstowe
  754.  
  755. <script>
  756. prompt(„Przykładowy komunikat typu prompt()”,”domyślna wartość pola”);
  757. </script>
  758.  
  759.  
  760. Instrukcja document.write
  761.  
  762. document.write(„Wyświetlany tekst”);
  763.  
  764.  
  765. Komentarze
  766.  
  767.  
  768. //komentarz wierszowy
  769.  
  770. /*
  771. Komentarz
  772. Wielowierszowy
  773. */
  774.  
  775.  
  776. 2
  777.  
  778. Zmienne
  779.  
  780.  
  781. var nazwa_zmiennej;
  782.  
  783.  
  784. Operatory
  785.  
  786.  
  787.  
  788. Operatory arytmetyczne
  789.  
  790.  
  791. Symbol Składnia Znaczenie
  792.  
  793. + x+y Dodawanie
  794.  
  795. - x-y Odejmowanie
  796.  
  797. * x*y Mnożenie
  798.  
  799. / x/y Dzielenie
  800.  
  801. - -x Negacja zmiennej
  802.  
  803. % x%y Reszta z dzielenia
  804.  
  805.  
  806.  
  807. Operator łańcuchowy
  808.  
  809.  
  810. Symbol Składnia Znaczenie
  811.  
  812. + „teks1”+”tekst2” Łączy dwa ciągi znaków w jeden
  813.  
  814.  
  815.  
  816. Operatory przypisania
  817.  
  818.  
  819. Symbol Składnia Znaczenie
  820.  
  821. = x=y Przypisuje wartość y do zmiennej x
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835. … … …
  836.  
  837.  
  838.  
  839. 3
  840.  
  841. Operatory inkrementacji i dekrementacji
  842.  
  843.  
  844. Symbol Składnia Znaczenie
  845.  
  846. ++ x++ Zwiększa wartość zmiennej o 1
  847.  
  848. Zmniejsza wartość zmiennej o 1
  849.  
  850.  
  851.  
  852. Operatory porównania
  853.  
  854.  
  855. Symbol Składnia Znaczenie
  856.  
  857. != x!=y Zwraca true, jeśli zmienne nie są równe
  858.  
  859. true, jeśli pierwsza zmienna jest mniejsza niż
  860.  
  861.  
  862. true, jeśli pierwsza zmienna jest mniejsza niż
  863. druga lub jej równa
  864.  
  865. true, jeśli zmienne są równe
  866.  
  867. true, jeśli pierwsza zmienna jest większa niż
  868.  
  869.  
  870. true, jeśli pierwsza zmienna jest większa niż
  871. druga lub jej równa
  872.  
  873.  
  874.  
  875. Operatory logiczne
  876.  
  877.  
  878. Symbol Składnia Znaczenie
  879.  
  880. ! !x Negacja wyrażenia
  881.  
  882. true, jeśli obie zmienne
  883. są prawdziwe (true)
  884.  
  885. true, jeśli co najmniej
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892. 4
  893.  
  894. Instrukcje sterujące
  895.  
  896.  
  897. Instrukcje warunkowe
  898.  
  899. if(warunek) {
  900. instrukcja;
  901. }
  902.  
  903.  
  904. if(warunek) {
  905. instrukcja_1;
  906. }
  907. else
  908. {
  909. instrukcja_2;
  910. }
  911.  
  912.  
  913. Pętle
  914.  
  915. for (wyrażenie_początkowe; warunek; wyrażenie_modyfikujące){
  916. instrukcje;
  917. }
  918.  
  919. while (warunek) {
  920. Instrukcje;
  921. }
  922.  
  923. do {
  924. instrukcje;
  925. }
  926. while (warunek)
  927.  
  928.  
  929.  
  930. Instrukcja switch
  931.  
  932. switch (wyrażenie) {
  933. case wartosc1:
  934. instrukcje1;
  935. break;
  936. case wartosc1:
  937. instrukcje1;
  938. break;
  939. case wartosc1:
  940. instrukcje1;
  941. break;
  942. default:
  943. instrukcje4;
  944. }
  945.  
  946.  
  947.  
  948.  
  949. 5
  950.  
  951. Funkcje
  952.  
  953.  
  954. Definiowanie własnych funkcji
  955.  
  956. function nazwa_funkcji (argumenty_funkcji) {instrukcje}
  957.  
  958. function nazwa_funkcji () {instrukcje}
  959.  
  960.  
  961.  
  962. Funkcje wbudowane
  963.  
  964.  
  965. parseInt()
  966.  
  967. Funkcja parseInt() pobiera argument dowolnego typu (najczęściej tekst) i zamienia go w liczbę. Gdy
  968. operacja nie powiedzie się, zwraca wartość NaN (Not a Number)
  969.  
  970. parseFloat()
  971.  
  972. Działa podobnie jak parseInt() tylko obsługuje liczby zmiennoprzecinkowe
  973.  
  974. isNaN()
  975.  
  976. Funkcja sprawdza, czy wartość podana jako parametr funkcji NIE jest liczbą. Funkcja ta zwraca
  977. wartość true jeśli argument funkcji nie jest liczbą, a wartość false – jeśli jest.
  978.  
  979. isFinite()
  980.  
  981. funkcja sprawdza czy wartość podana jako parametr to liczba różną od Infinity oraz od NaN. Gdy
  982. argument wejściowy ma wartość Infinity lub NaN, funkcja zawraca false, gdy jest liczbą, zwraca true.
  983.  
  984. Infinity Wartość: Number - nieskończoność
  985.  
  986. Wiele funkcji, które normalnie powinny zwrócić wartość typu Number, może w pewnych
  987. przypadkach zwrócić specjalną wartość Infinity. Wskazuje to najczęściej, że do funkcji zostały
  988. przekazane takie parametry, że obliczona wartość jest nieskończona.
  989.  
  990. Infinity zachowuje się jak matematyczna nieskończoność. Jest ona większa od każdej liczby. Dowolna
  991. liczba pomnożona przez Infinity daje również Infinity. Natomiast jeżeli podzielimy dowolną liczbę
  992. przez Infinity, zawsze otrzymamy wartość zero.
  993.  
  994. eval()
  995.  
  996. Funckaj ta pobiera ciąg znaków i uruchamia go jako kod języka JavaScript. Zaleca się nieużywanie tej
  997. funkcji
  998.  
  999. alert()
  1000.  
  1001. Funckaj alert() nie ma w specyfikacji języka, ale można ją używać w środowisku przeglądarki. Służy do
  1002. wyświetlania komunikatów w oknie dialogowym.
  1003.  
  1004. 6
  1005.  
  1006. Obiekty przeglądarki
  1007.  
  1008.  
  1009. Obiekt window
  1010.  
  1011. Opisuje bieżące okno przeglądarki. Jest najważniejszym obiektem w hierarchii, dlatego odwołanie do
  1012. jego właściwości lub metod nie wymaga podania nazwy obiektu. Tworzony jest automatycznie
  1013. podczas otwierania przeglądarki.
  1014.  
  1015. Właściwości obiektu window
  1016.  
  1017. Właściwość Opis
  1018.  
  1019. frame[] Macierz ramek potomnych w oknie
  1020.  
  1021. frames.length Liczba zdefiniowanych ramek
  1022.  
  1023. self Bieżące okno
  1024.  
  1025. parent Okno rodzicielskie ramki potomnej w zestawie zdefiniowanym
  1026. znacznikiem <frameset>
  1027.  
  1028. top Okno najwyższego rzędu, które jest właścicielem wszystkich
  1029. widocznych ramek
  1030.  
  1031. status Komunikat pojawiający się w pasku stanu okna przeglądarki
  1032.  
  1033. defaultStatus Komunikat pojawiający się w pasku stanu okna przeglądarki
  1034. standardowo, kiedy oczekuje ona na wprowadzenie jakichś danych
  1035. przez użytkownika
  1036.  
  1037. name Wewnętrzny identyfikator okna otwartego metodą window.open()
  1038.  
  1039.  
  1040.  
  1041. Metody obiektu window
  1042.  
  1043. Metoda Opis
  1044.  
  1045. alert(„komunikat”) Okno dialogowe
  1046.  
  1047. confirm(„komunikat”) Okno decyzyjne
  1048.  
  1049. prompt(„komunikat”) Okno tekstowe
  1050.  
  1051. open(„URL”,”nazwa”) Otwiera na ekranie nowe okno, nadaje mu wewnętrzny
  1052. identyfikator „nazwa” i ściąga do niego dokument wskazany
  1053. lokalizatorem „URL”
  1054.  
  1055. close() Zamyka okno z dokumentem
  1056.  
  1057.  
  1058.  
  1059.  
  1060. Obiekt navigator
  1061.  
  1062. Obiekt przechowuje informacje dotyczące przeglądarki, jej nazwy, wersji oraz systemu operacyjnego
  1063. na którym została uruchomiona
  1064.  
  1065. 7
  1066.  
  1067. Właściwości obiektu navigator
  1068.  
  1069. Właściwość Opis
  1070.  
  1071. cookieEnabled zwraca true, jeśli włączona jest obsługa cookies
  1072.  
  1073. userAgent jest to ciąg wysyłany przez przeglądarkę do serwera; pozwala na
  1074. dokładną indetyfikację przeglądarki
  1075.  
  1076.  
  1077.  
  1078. Metody obiektu navigator
  1079.  
  1080. Metoda Opis
  1081.  
  1082. javaEnabled() zwraca true, jeśli przeglądarka obsługuje Javę
  1083.  
  1084.  
  1085.  
  1086. Obiekt document
  1087.  
  1088. Wykorzystuje dostępne metody i właściwości do modyfikacji dokumentu HTML aktualnie wczytanego
  1089. przez przeglądarkę.
  1090.  
  1091. Właściwości obiektu document
  1092.  
  1093. Właściwość Opis
  1094.  
  1095. title Łańcuch określający tytuł dokumentu, jeśli tytuł nie został
  1096. zdefiniowany, jego wartość to null
  1097.  
  1098. location Łańcuch zawierający pełny adres URL aktualnie otwartego
  1099. dokumentu
  1100.  
  1101. lastModified Łańcuch zawierający date ostatniej modyfikacji dokumentu; jest on
  1102. formatu Date
  1103.  
  1104. referre Zawiera adres URL, spod którego został wywołany bieżący
  1105. dokument
  1106.  
  1107. bgColor Łańcuch określający kolor tła dokumentu
  1108.  
  1109. fgColor Łańcuch określający kolor tekstu w dokumencie
  1110.  
  1111. linkColor Łańcuch określający kolor odsyłacza
  1112.  
  1113. vlinkColor Łańcuch określający kolor odwiedzonych odsyłaczy
  1114.  
  1115. alinkColor Łańcuch określający kolor aktywnego odsyłacza
  1116.  
  1117. forms[] Tablica zawierająca pozycję każdego formularza
  1118.  
  1119. forms.length Przechowuje dane o liczbie formularzy w dokumencie
  1120.  
  1121. links[] Tablica zawierająca pozycję każdego obiektu area i link
  1122.  
  1123. links.length Przechowuje dane o liczbie odsyłaczy
  1124.  
  1125. anchors[] Tablica zawierająca pozycję każdego zakotwiczenia
  1126.  
  1127. 8
  1128.  
  1129. anchors.length Przechowuje wartość liczby zakotwiczeń
  1130.  
  1131.  
  1132.  
  1133. Metody obiektu document
  1134.  
  1135. Metoda Opis
  1136.  
  1137. write(„łańcuch”) Wpisuje wyrażenie HTML w dokumencie w bieżącym dokumencie
  1138.  
  1139. clear() Czyści zawartość bieżącego okna
  1140.  
  1141. close() Powoduje zamknięcie bieżącego okna
  1142.  
  1143.  
  1144.  
  1145.  
  1146. Obiekt location
  1147.  
  1148. Posiada informacje dotyczące aktualnego adresu URL dokumentu oraz metody pozwalające na
  1149. operowanie tym adresem.
  1150.  
  1151. Właściwości obiektu location
  1152.  
  1153. Właściwość Opis
  1154.  
  1155. href Łańcuch zawierający cały adres URL dokumentu
  1156.  
  1157. protocol Łańcuch zawierający początek adresu URL wraz z pierwszym
  1158. dwukropkiem
  1159.  
  1160. host Łańcuch zawierający nazwę serwera, nazwę domeny
  1161.  
  1162. hostname Łańcuch zawierający pełną nazwę serwera łącznie z numerem
  1163. portu
  1164.  
  1165. port Łańcuch określający używany przez serwera port komunikacyjny
  1166.  
  1167. pathname Łańcuch zawierający część adresu URL
  1168.  
  1169. hash Łańcuch rozpoczynający się od znaku #, który określa nazwę
  1170. zakotwiczenia w dokumencie
  1171.  
  1172. search Łańcuch rozpoczynający się znakiem ?, który określa zapytanie w
  1173. adresie URL
  1174.  
  1175.  
  1176.  
  1177. Metody obiektu location
  1178.  
  1179. Metoda Opis
  1180.  
  1181. assign(url) Wczytuje dokument o adresie wskazanym przez argument url
  1182.  
  1183. reload(force) Wymusza ponowne wczytanie bieżącej strony
  1184.  
  1185. replace(url) Zastępuje bieżący dokument przez wczytany spod adresu
  1186. wskazanego przez url
  1187.  
  1188.  
  1189.  
  1190. 9
  1191.  
  1192. Obiekt history
  1193.  
  1194. Obiekt ten przechowuje historię odwiedzin stron podczas danej sesji przeglądarki
  1195.  
  1196. Właściwości obiektu history:
  1197.  
  1198. Właściwość Opis
  1199.  
  1200. next, previous URL kolejnego i poprzedniego elementu obiektu history
  1201.  
  1202. current aktualny URL
  1203.  
  1204. length liczba URL przechowywana przez historię
  1205.  
  1206. Metody obiektu history
  1207.  
  1208. Metoda Opis
  1209.  
  1210. back, forward wczytuje poprzedni i następy element (np.
  1211. history.back())
  1212.  
  1213. go(parametr) -1 -> poprzednia strona,
  1214.  
  1215. 1 -> nastepna (np. history.go(-1))
  1216.  
  1217.  
  1218.  
  1219. Obiekt string
  1220.  
  1221. Stanowi każdy ciąg znaków ujęty w znakach cudzysłowu lub apostrofu.
  1222.  
  1223. Właściwości obiektu string
  1224.  
  1225. Właściwość Opis
  1226.  
  1227. length Zwraca wartość liczbową – liczbę znaków w łańcuchu
  1228.  
  1229.  
  1230.  
  1231. Metody obiektu string
  1232.  
  1233. Metoda Opis
  1234.  
  1235. big() Zwiększa rozmiar czcionki
  1236.  
  1237. blink() Tekst migający
  1238.  
  1239. bold() Tekst pogrubiony
  1240.  
  1241. fixed() Odpowiednik znacznika <tt>
  1242.  
  1243. italics() Tekst pochylony
  1244.  
  1245. small() Zmniejsza rozmiar czcionki
  1246.  
  1247. sub() Indeks dolny
  1248.  
  1249. 10
  1250.  
  1251. strike() Tekst przekreślony
  1252.  
  1253. sup() Indeks górny
  1254.  
  1255. fontColor(kolor) Kolor tekstu
  1256.  
  1257. fontSize(rozmiar) Rozmiar czcionki
  1258.  
  1259. charAt(indeks) Zwraca znak z pozycji określonej przez indeks
  1260.  
  1261. indexOf(podłańcuch[,indeks]) Przeszukuje łańcuch w poszukiwaniu podłańcucha i
  1262. zwraca pozycję pierwszego znalezionego znaku
  1263.  
  1264. lastindexOf(podłańcuch[,indeks]) Przeszukuje łańcuch w poszukiwaniu podłańcucha w
  1265. kierunku przeciwnym (od końca)
  1266.  
  1267. substring(x,y) Zwraca podłańcuch wycięty z łańcucha od pozycji x do
  1268. pozycji y
  1269.  
  1270. toLowerCase() Konwertuje znaki w łańcuch na małe litery
  1271.  
  1272. toUpperCase() Konwertuje znaki w łańcuch na wielkie litery
  1273.  
  1274. slice(początek, koniec) Wycina fragment łańcucha znaków i zwraca nowy
  1275. łańcuch.
  1276.  
  1277. concat Łączy tekst z dwóch łańcuchów i zwraca nowy łańcuch
  1278. znaków.
  1279.  
  1280.  
  1281.  
  1282. Obiekt data
  1283.  
  1284. Pozwala na wykonywanie operacji z wykorzystaniem daty i czasu. Praca z obiektem Date uzależniona
  1285. jest od użycia konstruktora.
  1286.  
  1287. Konstruktor bezparametrowy:
  1288.  
  1289. var data=new Date();
  1290.  
  1291.  
  1292. Konstruktor z parametrem:
  1293.  
  1294. var data= new Date(rok, miesiąc, dzień, godzina, minuta, sekunda, milisekunda)
  1295.  
  1296. Metody obiektu date
  1297.  
  1298. Metoda Opis
  1299.  
  1300. getDay() Zwraca dzień tygodnia
  1301.  
  1302. getDate() Zwraca dzień miesiąca
  1303.  
  1304. getHours() Zwraca godzinę
  1305.  
  1306. getMinutes() Zwraca minuty
  1307.  
  1308. 11
  1309.  
  1310. getMonth() Zwraca miesiąc
  1311.  
  1312. getSeconds() Zwraca sekundy
  1313.  
  1314. getTime() Zwraca wartość numeryczną określającą czas; wartość w
  1315. milisekundach
  1316.  
  1317. getYear() Zwraca rok
  1318.  
  1319. setDate() Ustawia dzień miesiąca
  1320.  
  1321. setHour() Ustawia godzinę
  1322.  
  1323. setMinutes() Ustawia minutę
  1324.  
  1325. setMonth() Ustawia miesiąc
  1326.  
  1327. setSeconds() Ustawia sekundy
  1328.  
  1329. setTime() Ustawia wartość obiektu Date – wartość w milisekundach
  1330.  
  1331. setYear() Ustawia rok
  1332.  
  1333. toGMTString() Zwraca datę w systemie GMT
  1334.  
  1335. toLocaleString() Zwraca datę w formacie lokalnym
  1336.  
  1337. parse(date) Zwraca liczbę milisekund, jakie upłynęły od 1 stycznia 1970
  1338.  
  1339.  
  1340.  
  1341.  
  1342. Obiekt math
  1343.  
  1344. Wykorzystywany jest do wykonywania różnych obliczeń matematycznych.
  1345.  
  1346. Właściwości obiektu math
  1347.  
  1348. Właściwość Opis
  1349.  
  1350. LN10 Stała wartość, logarytm naturalny z 10 = 2,302585…
  1351.  
  1352. LN2 Stała wartość, logarytm naturalnyc z 2 = 0,693147…
  1353.  
  1354. PI Stała wartość, liczba pi = 3,141592…
  1355.  
  1356. SQRT1_2 Stała wartość, pierwiastek kwadratowy z ½ = 0,707107…
  1357.  
  1358. SQRT2 Stała wartość, pierwiastek kwadratowy z 2 = 1,414213…
  1359.  
  1360.  
  1361.  
  1362. Metody obiektu math
  1363.  
  1364. Metoda Opis
  1365.  
  1366. 12
  1367.  
  1368. abs(x) Wartość bezwzględna z x
  1369.  
  1370. acos(x) Arcus cosinus x
  1371.  
  1372. asin(x) Arcus sinus x
  1373.  
  1374. atan(x) Arcus tanges x
  1375.  
  1376. ceil(x) Najmniejsza liczba całkowita większa niż lub równa x
  1377.  
  1378. cos(x) Cosinus x
  1379.  
  1380. exp(x) e (stała Eulera) podniesiona do potęgi x
  1381.  
  1382. floor(x) Największa liczba całkowita mniejszą niż lub równa x
  1383.  
  1384. log(x) Logarytm naturalny x
  1385.  
  1386. max(x,y) Większa z liczb x,y
  1387.  
  1388. min(x,y) Mniejsza z liczb x,y
  1389.  
  1390. pow(x,y) x do potęgi y
  1391.  
  1392. round(x) Zaokrąglenie do najbliższej liczby całkowitej
  1393.  
  1394. sin(x) Sinus x
  1395.  
  1396. sqrt(x) Pierwiastek kwadratowy z x
  1397.  
  1398. tan(x) Tangens x
  1399.  
  1400.  
  1401.  
  1402. Zdarzenia
  1403.  
  1404. Przykłady zdarzeń to:
  1405.  
  1406.  Kliknięcie przez użytkownika myszą,
  1407.  Przesunięcie myszą nad element,
  1408.  Wczytanie strony internetowej,
  1409.  Wczytanie obrazu,
  1410.  Zmiana zawartości pola wprowadzania,
  1411.  Naciśnięcie klawisz.
  1412.  
  1413.  
  1414.  
  1415. Zdarzenie myszy
  1416.  
  1417. Nazwa Zdarzenie
  1418.  
  1419. onClick Po kliknięciu myszą
  1420.  
  1421. 13
  1422.  
  1423. onDblClick Po dwukrotnym kliknięciu myszą
  1424.  
  1425. onMouseDown Wciśnięcie (przytrzymanie) klawisza myszy
  1426.  
  1427. onMuseUp Puszczenie klawisza myszy
  1428.  
  1429. onMouseOver Najechanie kursorem myszy na element
  1430.  
  1431. onMouseMove Przesunięcie wewnątrz elementu
  1432.  
  1433. onMouseOut Opuszczenie danego obszaru przez kursor myszy
  1434.  
  1435. Zdarzenie klawiatury
  1436.  
  1437. Nazwa Zdarzenie
  1438.  
  1439. onKeyPress Wciśnięcie klawisza na klawiaturze i przytrzymanie
  1440.  
  1441. onKeyDown Klawisz został wciśnięty i zwolniony
  1442.  
  1443. onKeyUp Klawisz został zwolniony
  1444.  
  1445. Zdarzenia formularz i elementów formularza
  1446.  
  1447. Nazwa Zdarzenie
  1448.  
  1449. onSubmit Zatwierdzenie formularz
  1450.  
  1451. onReset Wyczyszczenie formularza
  1452.  
  1453. onFocus Uaktywnienie elementu
  1454.  
  1455. onBlur Usunięcie aktywności okna
  1456.  
  1457. onSelect Wybranie danego elementu
  1458.  
  1459. onChange Zmiana wartości
  1460.  
  1461. Zdarzenia dokumentu
  1462.  
  1463. Nazwa Zdarzenie
  1464.  
  1465. onLoad Ładowanie strony
  1466.  
  1467. onUnload Zamknięcie strony
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474. 14
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement