TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG NGHỆ THÔNG TIN

22
TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG NGHỆ THÔNG TIN CÔNG NGHỆ MÃ NGUỒN MỞ Đề Tài: Tìm Hiểu PHP Cơ Bản GVHD:Ths . TẠ NGUYỄN SVTH : DƯƠNG THANH HÀ 110001366

description

TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG NGHỆ THÔNG TIN . CÔNG NGHỆ MÃ NGUỒN MỞ Đề Tài: Tìm Hiểu PHP Cơ Bản GVHD:Ths . TẠ NGUYỄN SVTH : DƯƠNG THANH HÀ 110001366. Nội Dung Tìm Hiểu. Chuỗi và xử lý chuỗi trong PHP Khái niệm mảng - Các hàm xử lý mảng trong php - PowerPoint PPT Presentation

Transcript of TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG NGHỆ THÔNG TIN

Page 1: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

TRƯỜNGĐẠI HỌC LẠC HỒNG

KHOA CÔNG NGHỆ CÔNG NGHỆ THÔNG TIN

CÔNG NGHỆ MÃ NGUỒN MỞ

Đề Tài: Tìm Hiểu PHP Cơ Bản

GVHD:Ths . TẠ NGUYỄN SVTH : DƯƠNG THANH HÀ 110001366

Page 2: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

Nội Dung Tìm Hiểu

• Chuỗi và xử lý chuỗi trong PHP• Khái niệm mảng - Các hàm xử lý mảng

trong php • Hàm xử lý thời gian

Page 3: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

I. Chuỗi và xử lý chuỗi trong PHP

1. Những khái niệm cơ bản. Trong PHP chuỗi được xác định theo cách. + Dấu nháy đơn: VD: ‘abc’; + Dấu nháy kép: VD: “abc”;• Ví dụ:

<?php$str = “duong thanh ha";$Example = 'Hoc PHP Can Ban'?>

Khuyến khích sử dụng kiểu nháy kép vì nó hỗ trợ nhiều ký tự đặc  biệt hơn kiểu nháy đơn. 1. Phương thức nỗi chuỗi và ký tự đặc biệt trong PHP. Để nối 2 chuỗi với nhau, PHP cho phép người sử dụng dùng cú pháp: dấu (.) để nối hai chuỗi với nhau  thành 1 chuỗi dài hơn. Để xử lý những ký tự lạ trong chuỗi như dấu “hoặc $, PHP cung cấp cho ta 1 phương thức xử lý hiệu quả. Đó là thêm dấu “\” sau mỗi giá trị.

Page 4: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

Ví dụ:

<?php    echo "gia tri \$a trong PHP that \ "de hieu\" phai khong nao";

?>

Ta có bảng ký tự sau:

2 . Các hàm về chuỗi cơ bản.2.1. Hàm substr() Cú pháp: string substr (string source, in begin, int length);Trả về 1 chuỗi con trong chuỗi cần lấy, đối số thứ 3 là tùy chọn, vị trí đầu tiên của chuỗi được tính là vị trí 0.

\n\r\t\\\$\"

Ký tự xuống dòngTrở về đầu dòngKý tự tabBackslashDollar signdouble-quocte

Page 5: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

Ví dụ 1:echo (substr (“christopher”, 1)); // in ra “hristopher”echo (substr (“christopher”, -2)); // in ra “er”//Nếu đối số thứ hai là số âm nó sẽ đếm từ cuối chuỗi ngược lại phía trước số ký tự bằng với giá trị tuyệt đối của

số âm đó.echo (substr (“christopher”, -5, 3)); // in ra “oph”echo (substr (“christopher”, -3)); // in ra “her”echo (substr (“christopher”, 2, 3)); // in ra “ris”echo (substr (“christopher”, 2, -3)); // in ra “ristop”echo (substr (“christopher”, -6, -3)); // in ra “top”echo (substr (“christopher”, 7, -8)); // in ra “” chuỗi rỗng

2.2. Hàm strlen (): Cú pháp: int strlen (string str).Xác định chiều dài của chuỗi. Ví dụ:

echo (strlen (“christopher”)); // in ra số 11.2.3. Hàm thay đổi kiểu chữ. Hàm strtoupper (): đổi chữ thường thành hoa.

Ví dụ:strttoupper (“toi”); in ra “TOI”

Hàm strtolower (): đổi chữ hoa thành thường.Ví dụ

strlower (“TOI”); // in ra “toi”

Page 6: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

Hàm ucfirst (): đổi chữ in ký tự đầu tiên của câu. Ví dụ

ucfirst("in house"); // in ra "In house“ Hàm ucwords (): đổi chữ in ký tự đầu tiên của mỗi từ. Ví dụ

ucwords("in house"); // in ra "In House“2.4. Hàm so sánh chuỗi. Có thể dùng toán tử so sánh = = (bằng), !=, <, <=, >, >=, = = = để so sánh các chuỗi. Ngoài ra, ta còn có một số phương thức so sánh chuỗi như sau: Các hàm strcmp (), strcasecmp (),strnatcmp () sẽ so sánh các chuỗi theo phép so sánh tự điển. Hàm int strcmp (string S1, string S2): So sánh 2 chuỗi S1, S2 có phân biệt hoa/ thường. Hàm này trả về giá trị > 0 nếu S1 > S2, 0 nếu S1 = S2 và giá trị <0 nếu S1 < S2. Nói chung hàm này có thể sử dụng giống toán tử so sánh trong biểu thức. Hàm int strcasecmp (string S1, string S2): Giống hàm strcmp () nhưng không phân biệt chữ hoa và chữ thường.

Page 7: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

Ví dụ<?php          $var1 = “Hello”;          $var2 = “hello”;          echo “Length $var1:”. Strlen($var1);            if (!strcasecmp ($var1, $var2))                       echo “$var1 = $var2 in a case-insensitive”            if (strcmp($var1, $var2) > 0)                      echo “$var1 > $var2”;          if (strcmp($var1, $var2) < 0)                      echo “$var1 < $var2”;          if (strcmp($var1, $var2) == 0)                      echo “$var1 = $var2”; ?>

• Kết quả hiển thị:Length Hello:5Hello = hello in a case - insensitiveHello < hello

Page 8: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

2.5. Hàm tìm kiếm và thay thế chuỗi.+ Tìm kiếm chuỗi bên trong chuỗi: để tìm kiếm 1 chuỗi bên trong 1 chuỗi khác, bạn có thể sử dụng 1 trong 3 hàm strstr (), strchr (), strrchr () hay stristr (), các hàm trên sẽ trả về chuỗi str1, nếu tìm thấy chuối str 1 trong chuỗi str 2, ngược lại hàm trả về giá trị false, nếu có nhiều chuỗi con str 1 trong str 2, thì hàm này chỉ tìm kiếm chuỗi str 1 đầu tiên. Hàm strstr ():• Cú pháp: string strstr (string str 1, string str 2); Ví dụ:

<?php $str = “Your customer service is excellent”; echo (strstr ($str, “is”). “<BR>”); // is excellent?><br type="_moz">

+ Hàm tạo chuỗi con: Hàm string substr (string S, int start [, int length]): Trả về chuỗi con được thành lập từ chuỗi S với các tham số start và length. • Nếu start >=0: sẽ trả về chuỗi bắt đầu từ vị trí start trong S.Ví dụ:

<?php$rest = substr (“abcdef”, 1); // returns “bcdef”$rest = substr (“abcdef”, 1, 3); // returns “bcd”?>

Page 9: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

• Nếu start < 0: sẽ trả về chuỗi bắt đầu từ vị trí start của S tính từ cuối chuỗi

<?php   $rest = substr (“abcdef”, -1); // returns “f”   $rest = substr (“abcdef”, -2); // returns “ef”   $rest = substr (“abcdef”, -3, 1); // returns “d”

?>

• Nếu length >= 0 (giá trị mặc định là 0), chuỗi trả về có chiều dài length ký tự tính từ vị trí start.

• Nếu length < 0: Chuỗi trả về chuỗi từ start tới vị trí kết thúc cách cuối chuỗi length ký tự.

+ Hàm thay thế chuỗi con: Hàm str_replace ():• Cú pháp: string str_replace (string str 1, string str 2, string str); Hàm thay thế chuỗi S1 bằng chuỗi S2 trong chuỗi S. Trong trường hợp có nhiều S1 trong S, tất cả các S1 đều được thay bởi S2 (thay thế tất cả).

<?php  $bodytag = str_replace (“%body%”, “black”, “<body text =    %body%>”);   //$bodytag = “<body text = %body%>”

?>

Page 10: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

Hàm substr_replace ()• Cú pháp: string substr_replace (string str, string replacement, int start, int [length]);Hàm này sẽ thay thế chuỗi str bằng chuỗi replacement, phần naò của chuỗi str được thay thế sẽ tùy thuộc vào 2 tham số là start và length.+ Start: Vị trí bắt đầu của chuỗi thay thế replacement trong chuỗi str.

Nếu start >=0: Vị rí thay thế sẽ được tính từ đầu chuỗi trở đi, start tính bằng đơn vị ký tự (vị trí thứ nhất của chuỗi là 0).Nếu start < 0: Nó sẽ được tính bắt đầu từ cuối chuỗi.

+ length: Là tham số tùy chọn, cho biết điểm dừng việc thay thế. Nếu không có đối số này thì việc thay thế sẽ là từ vị trí start đến cuối chuỗi.

Nếu length = 0: việc thay thế sẽ là chèn vào vị trí start và ký tự trước start.Nếu length > 0: cho biết số ký tự mà bạn muốn thay  thế với replacement.Nếu length < 0: cho biết điểm kết thúc việc thay thế tính từ vị trí cuối chuỗi trở lại.

Page 11: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

II. Khái niệm mảng trong php - Các hàm xử lý mảng1. Khái niệm mảng trong php Cũng như những ngôn ngữ lập trình khác. Trong php hỗ trợ một kiểu dữ liệu là dữ liệu kiểu mảng. Mảng hay còn gọi là array. Mảng là một biến là biến danh sách. Nghĩa là thay vì một biến chỉ có thể lưu trữ được một giá trị thì với mảng một biến có thể lưu được nhiều giá trị trong một biến.    Chúng ta có thể tạo 1 mãng với các phần tử không đồng nhất về mặt dữ liệu. Đây là một ưu điểm của PHP so với các loại ngôn ngữ khác như C++ hay Java.   Cấu trúc của một mảng bao gồm khóa và giá trị. Để làm việc được với mảng ta phải sử dụng các hàm xử lý mảng.

2. Khởi tạo mảng trong php    Để khởi tạo mảng trong php ta sử dụng cú pháp sau         $ten_bien = array("gia_tri_1","gia_tri_2","gia_tri_3",...,"gia_tri_n");    Các giá trị trong mảng cách nhau bởi dấu phảy ,    Các giá trị của mảng có thể là kiểu string, kiểu số, kiểu mảng

<?php$sinhvien = array(                    ‘duong thanh ha',

                     ‘[email protected]',                     ‘110001366',

                 ‘lhu.edu.vn'                );

Page 12: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

3. Thêm giá trị vào mảng        Để thêm giá trị vào mảng ta làm như sau   $ten_mang[ ] = 'gia_tri';    $ten_mang['key'] = 'gia_tri'; Ví dụ:

<?php     $sinhvien = array(                        'name'=>'Phạm Kỳ Khôi',                        'age' =>24,                        'email'=>'[email protected]'                      );     //Thêm một số thông tin vào mảng sinh viên     $sinhvien['address'] = 'Hà Nội';     $sinhvien['phone']   = '0973.980.948';

Trong một số trường hợp chúng ta muốn xem cấu trúc của mảng ta sử dụng hai lệnh sau: print_r hoặc var_dump   Ví dụ    Ta có một mảng như sau:

Page 13: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

<?php  $demo = array('Thứ 2','Thứ 3','Thứ 4','Thứ 5','Thứ 6','Thứ 7','Chủ nhật');

   echo "<pre>";  print_r($demo);  echo "</pre>";

   //Kết quả ta được     Array(       [0] => Thứ 2       [1] => Thứ 3       [2] => Thứ 4       [3] => Thứ 5       [4] => Thứ 6       [5] => Thứ 7       [6] => Chủ nhật    )

Với hàm print_r ta nên dùng thêm cặp thẻ <pre>: echo "<pre>";print_r($array);echo "</pre>";

4. Đếm số phần tử trong mảng - Để đếm số phần tử của mãng ta dùng hàm count, như ví dụ ở trên nếu ta ghi 

echo count($demo);  // sẽ in ra 7

Page 14: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

5. Các loại mảng trong PHP   Có hai loại mảng trong php    + Mảng tuần tự    + Mảng bất tuần tự

* Đối với mảng tuần tự   - Là mảng mà có các chỉ số index hay còn gọi là khóa sử dụng kiểu số, tăng hoặc giảm dần theo một quy luật.- Vị trí khóa của mảng thường bắt đầu từ con số 0  Ví dụ

<strong> $country = array ('Web giao dien web tinh','PHP can ban', 'PHP Nang Cao','PHP Chuyen Sau');</strong>

 $total = count ($country); for($i = 0; $i < $total; $i++){

     echo ($country[$i].'<br/>');    } //Cấu trúc của mảng

    Array    (      [0] => Web giao dien web tinh      [1] => PHP can ban      [2] => PHP Nang Cao      [3] => PHP Chuyen Sau    )

Page 15: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

Các bạn thấy ở mảng country có khóa tăng dần đều từ 0 đến 3

Kết quả ta được như sau   Web giao dien web tinh   PHP can ban   PHP Nang Cao   PHP Chuyen Sau* Đối với mảng bất tuần tự  -  Là mảng sử dụng từ, cụm từ để làm khóa, thay vì thông thường vẫn sử dụng số làm khóa.  Ví dụ

$info = array(                 "name"   =>“Duong Thanh Ha",

                "age"    =>"24",                "website"=>"web24h.com.vn",

                 "address"=>“Binh Dinh"              )

echo $info['name']; //Duong Thanh Haecho $info['website']; //web24h.com.vn

• Các bạn thấy ở mảng country có khóa tăng dần đều từ 0 đến 3

Page 16: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

Duyệt mảngforeach($mảng as $giatri){

      echo $giatri }Hay làforeach($mảng as $k=>$v){

   echo "$k : $v <br />";}

6. Các hàm xử lý mảngprint_r ($array)   Được dùng để xem cấu trúc của mảngcount ($array)  Trả về giá trị kiểu số nguyên là số phần tử của mảngarray_values ($array)  Trả về một mảng liên tục có các phần tử có giá trị là giá trị lấy từ các phần tử của mảng $arrayarray_keys ($array)  Trả về một mảng liên tục có các phần tử có giá trị là khóa lấy từ các phần tử của mảng $array.array_pop ($array)  Loại bỏ phần tử cuối cùng của mảng. Hàm trả về phần tử cuối cùng đã được loại bỏ.

Page 17: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

array_push ($array, $val1, $val2, ... , $valn)  Thêm một hoặc nhiều phần tử vào cuối mảng $array. Hàm trả về kiểu số nguyên là số lượng phần tử của mảng $array mớiarray_shift ($array)  Loại bỏ phần tử đầu tiên của mảng. Hàm trả về phần tử đầu tiên đã được loại bỏ.array_unshift ($array, $val1, $val2, ... , $valn)  Thêm một hoặc nhiều phần tử vào đầu mảng $array. Hàm trả về kiểu số nguyên là số lượng phần tử của mảng $array mớiarray_flip ($array)  Trả về một mảng có khóa và giá trị được hoán đổi cho nhau so với mảng $array (giá trị thành khóa và khóa thành giá trị)sort ($array)  Sắp xếp mảng $array theo giá trị tăng dầnarray_reverse ($array)  Đảo ngược vị trí các phần tử của mảngarray_merge ($array1, $array2, …, $arrayn)   Nhập 2 hay nhiều mảng thành một mảng duy nhất và trả về mảng mớiarray_rand ($array, $number)  Lấy ngâu nhiên $number phần tử từ mảng $array và đưa vào màng mới (lấy giá trị khóa)array_search ($value,$array)  Tìm phần tử mang giá trị $value trong mảng $array. Trả về khóa của phần tử tìm được.

Page 18: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

array_slice ($array, $begin. $finish)  Trích lấy 1 đoạn phần tử của mảng $array từ vị trí $begin đến vị trí $finish. Phần tư đầu tiên (chỉ số 0), phần tử cuối cùng (chỉ số -1 hay count($array) - 1)array_unique ($array) Loại bỏ những phần tử trùng nhau trong mảng và trả về mảng mớiimplode ($str, $array)Chuyển các giá trị của mảng $array thành một chuỗi bao gồm các phần tử cách nhau bởi ký tự $strexplode ($delimiter, $str)Chuyển một chuỗi thành một mảng. Tách chuỗi dựa vào $delimiter, mỗi đoàn tách ra sẽ thành một phần tử của mảng mớiserialize ($value)  Chuyển chuỗi/mảng/đối tượng $value thành một chuỗi đặc biệt để lưu vào cơ sở dữ liệuunserialize ($value)  Chuyển chuỗi đặc biệt được tạo từ serialize($value) về trạng thái ban đầuarray_key_exists ($key, $array)  Kiểm tra khóa $key có tồn tại trong mảng $array hay không? Nếu có trả về giá trị true.in_array ($value, $array)  Kiểm tra giá trị $value có tồn tại trong mảng $array hay không? Nếu có trả về giá trị true.array_diff ($array1, $array2)  Trả về một mảng bao gồm các phần tử có giá trị tồn tại trong mảng $array1 nhưng không tồn tại trong mảng $array2

Page 19: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

III. Hàm xử lý thời gian

1 - Hiển thị ngày tháng và thời gian hiện tạiCâu hỏi: làm sao hiển thị ngày tháng vào thời gian hiện tại trong PHPGiải pháp: để giải quyết vấn đề này chúng ta sử dụng hàm getdate()

Ví dụ:<?php

$now = getdate(); $currentTime = $now["hours"] . ":" . $now["minutes"] . ":" . $now["seconds"]; $currentDate = $now["mday"] . "." . $now["mon"] . "." . $now["year"]; echo "It is now $currentTime on $currentDate";

?>

2- Định dạng TimestampsCâu hỏi: Làm sao chuyển Unix timestamps thành kiểu thời gian bình thườngGiải pháp: để giải quyết vấn đề này chúng ta dùng hàm date()

Ví dụ:• <?php•  • // result: "30 Oct 2006" (example)• echo '<br>' . date("d M Y", mktime()) . " n";•  • // result: "12:38:26 PM" (example)• echo '<br>' . date("h:i:s A", mktime()) . " n";

Page 20: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

// result: "Monday, 30 October 2006, 12:38:26 PM" (example) echo '<br>' . date ("l, d F Y, h:i:s A", mktime()) . " n";  // result: "12:38:26 PM UTC"

echo '<br>' . date ("h:i:s A T", mktime()) . " n"; 

// result: "2006-10-30T12:38:26+00:00" echo '<br>' . date ("c", mktime());?>

3- Chuyển một chuỗi sang TimestampsCâu hỏi: làm thế nào để chuyển một chuỗi ngày tháng năm qua kiểu TimestampsGiải pháp: để giải quyết vấn đề này chúng ta dùng hàm strtotime()

Ví dụ:<?php

// chuoi nguon $str = "20030607";  // chuyen chuoi qua timestamp $ts = strtotime($str);  // result: "Saturday, 07 June 2003 12:00:00 AM" (example)

echo date("l, d F Y h:i:s A", $ts);?>

Page 21: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

4- Kiểm tra năm nhuầnCâu hỏi: làm sao kiểm tra xem năm có phải năm nhuần hay khôngGiải pháp: Năm nhuần là năm chia hết cho 4 hoặc 400 nhưng không phải 100

Ví dụ:<?php

function testLeapYear($year) { $ret = (($year%400 == 0) || ($year%4 == 0 && $year%100 != 0)) ? true : false; return $ret; }  echo '<br>' . testLeapYear(2004) ? "Is a leap year" : "Is not a leap year";  echo '<br>' . testLeapYear(2001) ? "Is a leap year" : "Is not a leap year";

?>

5- Tìm số ngày trong tháng của một năm nào đóCâu hỏi: làm sao tìm số ngày trong tháng 3 của năm 2005Giải pháp: để giải quyết vấn đề này chúng ta dùng hàm date()

Ví dụ:<?php

$ts = mktime(0,0,0,3,1,2005); echo date("t", $ts);

?>

Page 22: TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ CÔNG  NGHỆ THÔNG TIN

6 - Tìm số ngày và số tuần trong nămVí dụ:

<?php// ngày: 01-Mar-2008echo date("z", mktime(0,0,0,3,1,2008))+1;

 // Tuần: 01-Mar-2008echo date("W", mktime(0,0,0,3,1,2008));?>

7- Tìm thứ của ngàyVí dụ:

<?php // 04-Jun-2008

$ts = mktime(0,0,0,6,4,2008); echo date("l", $ts);

?>

8- Chuyển thời gian Local ra thời gian GMTCâu hỏi: làm sao chuyển đổi thời gian Local ra thời gian GMT (Greenwich Mean Time)Giải pháp: để giải quyết vấn đề này chúng ta dùng hàm gmdate()Ví dụ:

<?php echo gmdate("H:i:s d-M-y T") . "n"; $ts = mktime(4,30,0,2,2,2005); echo gmdate("H:i:s d-M-y T", $ts);

?>