Các hàm bảo mật trong chuỗi string addslashesstring $str string stripslashesstring $str string htmlspecialchars string $str [, int $quote_style [, string $charset ]] string md5string $s
Trang 1CÁ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
Trang 2Nội dung chính của slide này
Trang 3Chuỗ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 “ <br /> ”
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
Trang 5Nội dung chính của slide này
Trang 6Cá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])
Trang 7Cá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 )
Trang 8Cá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())
Trang 9Cá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
Trang 10Cá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,…
Trang 11Cá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
Trang 12Nội dung chính của slide này
Trang 13Cá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)
Trang 14Cá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
<?php
$today = date(" F j, Y, g:i a "); //January 10, 2011, 1:48 am
$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
?>
Trang 15Cá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
Trang 16Cá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
<?php
var_dump(checkdate( 2 , 29 , 2011 )); //False
var_dump(checkdate( 4 , 18 , 1986 )); //True
?>
Trang 17Cá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
<? $now = time(); echo $now; //Output: 1294601902 ?>
Trang 18Nội dung chính của slide này
Trang 20Mả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
Trang 21Mả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."<br />";
}
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ị
Trang 22 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.
Trang 23 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
Trang 24Mả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)
Trang 25
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
Trang 26Nội dung chính của slide này
Trang 27Upload 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
<form action ="upload.php" method ="post"
enctype ="multipart/form-data">
File upload:
<input type ="file" name ="myfile" />
<input type ="submit" value ="Upload" />
</form>
Trang 28Upload file lên server
Trang 29Upload file lên server
Xử lý:
<?php
$dir = "data/"; //Upload vào thư mục data
if($_FILES['myfile']['name'] != "") {
$fileupload = $dir $_FILES['myfile']['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!";
}
?>
Trang 30Upload file lên server
Upload nhiều file:
<form action ="upload.php" method ="post"
enctype ="multipart/form-data">
Files upload: <br />
File 1: <input type ="file" name ="myfile[]" /><br />
File 2: <input type ="file" name ="myfile[]" /><br />
File 3: <input type ="file" name ="myfile[]" /><br />
<input type ="submit" value ="Upload" />
</form>
Trang 31Upload file lên server
Xử lý upload nhiều file:
<?php
foreach($_FILES['myfile']['error'] as $key => $error) {
if($error == 0) {
$tmp_name = $_FILES['myfile']['tmp_name'][$key];
$name = $_FILES['myfile']['name'][$key];
} }
?>
Trang 32Giải đáp thắc mắc