Bài giảng Công nghệ Web và ứng dụng - Phần 1: Các hàm PHP thường dùng - Nguyễn Hoàng Tùng

Chuỗi ký tự

Khai báo biến:

$str = "chuỗi ký tự";

Các hàm về kiểu chuỗi ký tự: (chỉ nêu tên)

ltrim(), rtrim(), trim(): Xóa khoảng trắng bên trái, phải, cả 2.

nl2br(): Định dạng HTML, biến ký tự “\n” thành “
”.

addslashes(): Biến một chuỗi có thể lưu trữ trong CSDL.

substr(): Tách một chuỗi con từ một chuỗi.

strpos(): Xác định vị trí xuất hiện của chuỗi trong một chuỗi.

str_replace(): Thay thế chuỗi.

explode(): Tách chuỗi thành các chuỗi con.

implode(): Ngược lại với hàm explode(), dùng để ghép chuỗi

pdf 32 trang yennguyen 6100
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công nghệ Web và ứng dụng - Phần 1: Các hàm PHP thường dùng - Nguyễn Hoàng Tùng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Công nghệ Web và ứng dụng - Phần 1: Các hàm PHP thường dùng - Nguyễn Hoàng Tùng

Bài giảng Công nghệ Web và ứng dụng - Phần 1: Các hàm PHP thường dùng - Nguyễn Hoàng Tùng
CÁC HÀM PHP THƯỜNG DÙNG 
 Giảng viên phụ trách: 
 Nguyễn Hoàng Tùng 
 Bộ môn Tin học 
 Email: nhoangtung@agu.edu.vn 
Nội dung chính của slide này 
Các hàm về chuỗi 
Các hàm bảo mật trong chuỗi 
Hàm ngày, giờ 
Các hàm về mảng 
Upload file lên server 
20/08/2012 Công nghệ Web và Ứng dụng 2 
Chuỗi ký tự 
Khai báo biến: 
$str = "chuỗi ký tự"; 
Các hàm về kiểu chuỗi ký tự: (chỉ nêu tên) 
ltrim(), rtrim(), trim(): Xóa khoảng trắng bên trái, phải, cả 2. 
nl2br(): Định dạng HTML, biến ký tự “\n” thành “”. 
addslashes(): Biến một chuỗi có thể lưu trữ trong CSDL. 
substr(): Tách một chuỗi con từ một chuỗi. 
strpos(): Xác định vị trí xuất hiện của chuỗi trong một chuỗi. 
str_replace(): Thay thế chuỗi. 
explode(): Tách chuỗi thành các chuỗi con. 
implode(): Ngược lại với hàm explode(), dùng để ghép chuỗi. 
20/08/2012 Công nghệ Web và Ứng dụng 3 
Chuỗi ký tự 
Ví dụ về chuỗi: 
20/08/2012 Công nghệ Web và Ứng dụng 4 
<?php 
 $str = "Xoài, Mận, Bưởi, Sầu riêng"; 
 $arr = array(); //Mảng động 
 $arr = explode(", ",$str); 
 echo "Danh sách trái cây:"; 
 foreach($arr as $key=>$value) 
 echo($key + 1)." - ".$value.""; 
?> 
Nội dung chính của slide này 
Các hàm về chuỗi 
Các hàm bảo mật trong chuỗi 
Hàm ngày, giờ 
Các hàm về mảng 
Upload file lên server 
20/08/2012 Công nghệ Web và Ứng dụng 5 
Các hàm bảo mật trong chuỗi 
string addslashes(string $str) 
string stripslashes(string $str) 
string htmlspecialchars(string $str [, int $quote_style [, string $charset]]) 
string md5(string $str [, bool $raw_output]) 
string sha1(string $str [, bool $raw_output]) 
20/08/2012 Công nghệ Web và Ứng dụng 6 
Các hàm bảo mật trong chuỗi 
string addslashes(string $str) 
Thêm ký tự backslash (\) phía trước các ký tự ‘ " \ NUL 
trong chuỗi $str Thường dùng trong các câu lệnh SQL để 
tránh xảy ra lỗi khi lưu và lấy dữ liệu từ CSDL. 
Các hàm tương tự: 
string quotemeta(string $str) 
string addcslashes(string $str, string $charlist) 
VD: 
20/08/2012 Công nghệ Web và Ứng dụng 7 
<?php 
 $str = "I'dont know \'every thing\'"; 
 echo addslashes($str); 
 //Output: I\'dont know \\\'every thing\\\' 
?> 
Các hàm bảo mật trong chuỗi 
string stripslashes(string $str) 
Xóa bỏ ký tự backslash (\) xuất hiện trong chuỗi $str (ngược 
lại với hàm addslashes()). 
Hàm tương tự: 
string stripcslashes(string $str) 
VD: 
20/08/2012 Công nghệ Web và Ứng dụng 8 
<?php 
 $str = "I\'dont know \\\'every thing\\\'"; 
 echo stripslashes($str); 
 //Output: I'dont know \'every thing\' 
?> 
Các hàm bảo mật trong chuỗi 
string htmlspecialchars(string $str [, int $quote_style [, string $charset]]) 
Chuyển đổi các ký tự đặc biệt & ' " trong chuỗi $str 
thành các thực thể HTML (Convert special characters to 
HTML entities). 
Khi đó: 
& & 
" " // khi không có ENT_NOQUOTES. 
' ' // khi có ENT_QUOTES. 
< < 
> > 
Ngược lại: htmlspecialchars_decode 
20/08/2012 Công nghệ Web và Ứng dụng 9 
Các hàm bảo mật trong chuỗi 
string md5(string $str [, bool $raw_output]) 
MD5: Message Digest 5 là một hàm băm mật mã được sử 
dụng phổ biến với giá trị băm dài 128 bit. 
Thường dùng để mã hóa mật khẩu, kiểm tra tính toàn vẹn 
của tập tin, 
VD: 
20/08/2012 Công nghệ Web và Ứng dụng 10 
<?php 
 $str = 'Lớp DH8TH'; 
 echo md5($str); 
 //Output: 39a03156031b6a3ecf5dc5279ab3a77c 
?> 
Các hàm bảo mật trong chuỗi 
string sha1(string $str [, bool $raw_output]) 
Thuật toán SHA-1 (Secure Hash Algorithm 1) tạo ra chuỗi 
mã băm có chiều dài cố định 160 bit từ chuỗi bit dữ liệu đầu 
vào $str có chiều dài tùy ý. 
Được sử dụng phổ biến và có công dụng như MD5, ngoài ra 
SHA-1 còn được sử dụng rất nhiều trong thương mại điện 
tử, tạo chữ ký số, 
VD: 
20/08/2012 Công nghệ Web và Ứng dụng 11 
<?php 
 $str = 'Lớp DH8TH'; 
 echo sha1($str); 
 //Output: a6fc5d0530e75a5288e4ff27b284741945677158 
?> 
Nội dung chính của slide này 
Các hàm về chuỗi 
Các hàm bảo mật trong chuỗi 
Hàm ngày, giờ 
Các hàm về mảng 
Upload file lên server 
20/08/2012 Công nghệ Web và Ứng dụng 12 
Các hàm về thời gian 
string date(string $format [, int $timestamp]) 
array getdate([int $timestamp]) 
bool checkdate(int $month, int $day, int $year) 
int time(void) 
20/08/2012 Công nghệ Web và Ứng dụng 13 
Các hàm về thời gian 
string date(string $format [, int $timestamp]) 
Trả về thời gian hiện tại theo định dạng $format. 
Ví dụ: 
Xem chi tiết các cú pháp định dạng trong PHP Manual. 
20/08/2012 Công nghệ Web và Ứng dụng 14 
<?php 
 $today = date("F j, Y, g:i a"); //January 10, 2011, 1:48 am 
 $today = date("d.m.y"); //10.01.11 
 $today = date("j/n/Y"); //10/1/2011 
 $today = date("dmY"); //10012011 
 $today = date("h-i-s, j-m-y"); //01-48-26, 10-01-11 
 $today = date("D M j G:i:s Y"); //Mon Jan 10 1:48:26 2011 
 $today = date("H:i:s"); //01:48:26 
?> 
Các hàm về thời gian 
array getdate([int $timestamp]) 
Trả về một array thông tin về thời gian hiện tại. 
20/08/2012 Công nghệ Web và Ứng dụng 15 
Array( 
 [seconds] => 41 
 [minutes] => 2 
 [hours] => 2 
 [mday] => 10 
 [wday] => 1 
 [mon] => 1 
 [year] => 2011 
 [yday] => 9 
 [weekday] => Monday 
 [month] => January 
 [0] => 1294599761 
) 
Các hàm về thời gian 
bool checkdate(int $month, int $day, int $year) 
Kiểm tra ngày, tháng, năm đưa vào có hợp lệ hay không? 
Giới hạn của tham số: 
Tháng ($month) từ 1 đến 12, 
Ngày ($day) từ 1 đến 31, phụ thuộc theo tháng, 
Năm ($year) từ 1 đến 32767. 
20/08/2012 Công nghệ Web và Ứng dụng 16 
<?php 
 var_dump(checkdate(2, 29,2011)); //False 
 var_dump(checkdate(4, 18,1986)); //True 
?> 
Các hàm về thời gian 
int time(void) 
Trả về thời gian hiện tại được tính bằng giây kể từ 0:0:0 
1/1/1970 GMT. 
20/08/2012 Công nghệ Web và Ứng dụng 17 
Nội dung chính của slide này 
Các hàm về chuỗi 
Các hàm bảo mật trong chuỗi 
Hàm ngày, giờ 
Các hàm về mảng 
Upload file lên server 
20/08/2012 Công nghệ Web và Ứng dụng 18 
Mảng 
Khai báo: 
$n = 100; 
 $arr1 = array($n); 
$arr2 = array(giá trị 1, giá trị 2,..., giá trị n); 
$arr3 = array(); //Mảng động 
$arr4 = array(hoten => “HTùng”, //Mảng kết hợp 
 quequan => “LX”, 
 tuoi => 24, 
 IQ => “Rất cao”); 
20/08/2012 Công nghệ Web và Ứng dụng 19 
key value 
Mảng 
Sử dụng: 
Truy xuất 1 phần tử trong mảng: $arr[$key] 
 $key có ý nghĩa rộng hơn index, dùng tham chiếu đến 1 
phần tử của mảng. 
Ví dụ: Tạo mảng gồm 10 phần tử là các số nguyên lấy ngẫu 
nhiên trong [0,100]. Khởi tạo $key là 0. 
Xóa 1 phần tử trong mảng: unset($arr[$key]) 
20/08/2012 Công nghệ Web và Ứng dụng 20 
<?php 
 $arr = array(10); 
 for($i=0; $i<10; $i++) 
 $arr[$i] = rand(0,100); 
 for($i=0; $i<10; $i++) 
 echo($i + 1)." - ".$arr[$i].""; 
?> 
Mảng 
Các hàm về mảng: 
foreach(): truy xuất các phần tử của mảng 
 foreach($arr as $key => $value) 
 { 
 echo $key.", "; 
 echo $value.""; 
 } 
 Có thể thay thế $key và $value bằng tên khác, chẳng 
hạn $k=>$v, miễn rằng đảm bảo khai báo: $chỉ số=>$giá trị. 
20/08/2012 Công nghệ Web và Ứng dụng 21 
Mảng 
Các hàm về mảng: 
each(): truy xuất các phần tử của mảng 
 while($item = each($arr)) 
 { 
 echo $item['key'].", "; 
 echo $item['value'].""; 
 } 
 Hàm each() trả về phần tử kế tiếp của mảng. Từ khóa key 
và value trong trường hợp này phải giữ nguyên. 
20/08/2012 Công nghệ Web và Ứng dụng 22 
Mảng 
Các hàm về mảng: 
list(): truy xuất các phần tử của mảng 
 while(list($k,$v) = each($arr)) 
 { 
 echo $k.", "; 
 echo $v.""; 
 } 
 Hàm list($k,$v) tách cặp giá trị (key,value) của phần tử 
có “chỉ số” là $key ra hai biến $k và $v tương ứng. 
20/08/2012 Công nghệ Web và Ứng dụng 23 
Mảng 
Các hàm về mảng: 
count(), sizeof(): Trả về kích thước của mảng. 
current(), end(): Trả về phần tử hiện tại, cuối cùng của mảng. 
prev(), next(): Trả về phần tử liền trước, kế kiếp. 
sort(): Sắp xếp mảng theo value của phần tử. 
ksort(): Sắp xếp mảng theo key của phần tử. 
is_array(): Kiểm tra 1 biến có phải là mảng (trả về 1và 0). 
... 
20/08/2012 Công nghệ Web và Ứng dụng 24 
Mảng 
Mảng động: 
Ví dụ: Cho mảng gồm 10 số tự nhiên, tạo một mảng con chứa 
những số lẻ của mảng này, in ra mảng con này. 
20/08/2012 Công nghệ Web và Ứng dụng 25 
<?php 
 $arr = array(2,4,9,2,3,5,8,1); 
 $child = array(); //Mảng động 
 while(list($k,$v) = each($arr)) 
 if($v % 2 != 0) 
 $child[] = $v; 
 for($i=0; $i<count($child); $i++) //In mảng 
 echo $child[$i].""; 
?> 
Nội dung chính của slide này 
Các hàm về chuỗi 
Các hàm bảo mật trong chuỗi 
Hàm ngày, giờ 
Các hàm về mảng 
Upload file lên server 
20/08/2012 Công nghệ Web và Ứng dụng 26 
Upload file lên server 
Form upload: 
Lưu ý: 
Luôn sử dụng phương thức POST. 
Luôn sử dụng enctype="multipart/form-data" trong thẻ FORM. 
20/08/2012 Công nghệ Web và Ứng dụng 27 
<form action="upload.php" method="post" 
 enctype="multipart/form-data"> 
 File upload: 
Upload file lên server 
Biến $_FILES[]: 
$_FILES['myfile']['name'] 
• Tên file đã được upload. 
$_FILES['myfile']['type'] 
• Kiểu file đã được upload, vd: image/gif, image/jpeg,... 
$_FILES['myfile']['size'] 
• Kích thước tập tin đã được upload (tính bằng bytes). 
$_FILES['myfile']['tmp_name'] 
• Vị trí file được lưu trữ tạm trên server. 
$_FILES['myfile']['error'] 
• Mã lỗi của việc upload (0 = Upload thành công). 
20/08/2012 Công nghệ Web và Ứng dụng 28 
Upload file lên server 
Xử lý: 
20/08/2012 Công nghệ Web và Ứng dụng 29 
<?php 
 $dir = "data/"; //Upload vào thư mục data 
 if($_FILES['myfile']['name'] != "") 
 { 
 $fileupload = $dir . $_FILES['myfile']['name']; 
 if(move_uploaded_file($_FILES['myfile']['tmp_name'], 
 $fileupload)) 
 { 
 echo "Upload file thành công!"; 
 } 
 else{ 
 echo "Upload file không thành công!"; 
 } 
 } 
 else{ 
 echo "Vui lòng chọn file để upload!"; 
 } 
?> 
Upload file lên server 
Upload nhiều file: 
20/08/2012 Công nghệ Web và Ứng dụng 30 
<form action="upload.php" method="post" 
 enctype="multipart/form-data"> 
 Files upload: 
 File 1: 
 File 2: 
 File 3: 
Upload file lên server 
Xử lý upload nhiều file: 
20/08/2012 Công nghệ Web và Ứng dụng 31 
<?php 
 foreach($_FILES['myfile']['error'] as $key => $error) 
 { 
 if($error == 0) 
 { 
 $tmp_name = $_FILES['myfile']['tmp_name'][$key]; 
 $name = $_FILES['myfile']['name'][$key]; 
 move_uploaded_file($tmp_name, "data/$name"); 
 } 
 } 
?> 
Giải đáp thắc mắc 
20/08/2012 Công nghệ Web và Ứng dụng 32 

File đính kèm:

  • pdfbai_giang_cong_nghe_web_va_ung_dung_phan_1_cac_ham_php_thuon.pdf