Webcourse php nang cao

  • 37 trang
  • file .pdf
Lập trình và Thiết kế Web 1
i 10
PHP nâng cao
Khoa CNTT – ĐH.KHTN
© 2007 Khoa Công nghệ thông tin
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Nội dung
 Upload File
 Gửi Email
 Cookies
 Sessions
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Nội dung
 Upload File
 Gửi Email
 Cookies
 Sessions
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Upload File
 Cơ chế Upload File
 Thiết kế Form cho phép Upload File
 Xử lý Lưu File upload lên server
 Kiểm tra lỗi, định dạng, kích thước File upload
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
CơYêuchế Upload File
cầu trang upload.php
Webserver
Internet
file or Intranet
Disk
driver
Upload.php
• $_FILES[“file"]["name"]
• $_FILES[“file"]["type"]
• $_FILES[“file"]["size"]
• $_FILES[“file"]["tmp_name"]
• $_FILES["file"]["error"]
• move_uploaded_file(tmpName, savedName)
• file_exists(savedName)
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Thiết kế Form cho phép Upload File
 Thiết lập thuộc tính Form
– Method : POST
– Enctype: multipart/form-data
--- UploadForm.htm ---
enctype="multipart/form-data">




© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Xử lý lưu File lên hệ thống file system trên Server
 move_uploaded_file(tmp_name, saved_name)
--- Upload.php ---
move_uploaded_file( $_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Upload: " . $_FILES["file"]["name"] . "
";
echo "Type: " . $_FILES["file"]["type"] . "
";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
";
echo “Temp. Stored in: " . $_FILES["file"]["tmp_name"];
?>
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Kiểm tra Lỗi, Định dạng & Kích thước File
--- Upload.php ---
if (($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
&& ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo “Error Code: " . $_FILES["file"]["error"] . "
";
}
else
{
// Xu ly luu file
}
}
?>
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Cấu hình phân quyền WRITE cho thự mục upload
PHP Warning:
move_uploaded_file(upload/14.jpg)
[function.move-uploaded-file]:
failed to open stream: Permission
denied in .
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Nội dung
 Upload File
 Gửi Email
 Cookies
 Sessions
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Gửi Email
 Cơ chế gửi Email
 Gửi mail sử dụng Outlook
 Gửi mail sử dụng Web Mail
– PHP mail() – Non Authentication
– PHP PEAR package – SMTP Authentication
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Gửi Email
 Cơ chế gửi Email
 Gửi mail sử dụng Outlook
 Gửi mail sử dụng Web Mail
– PHP mail() – Non Authentication
– PHP PEAR package – SMTP Authentication
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Cơ chế gửi Email Mail server
Internet
or Intranet
Mail Client
mail(to,subject,message…)
Internet
or Intranet
Web Server
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Cơ chế gửi Email
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Ví dụ Cấu hình Gửi Email sử dụng GMAIL
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Gửi Email
 Cơ chế gửi Email
 Gửi mail sử dụng Outlook
 Gửi mail sử dụng Web Mail
– PHP mail() – Non Authentication
– PHP PEAR package – SMTP Authentication
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Gửi mail sử dụng cấu hình trong Mail Client - Outlook
 Sử dụng mailto

 Format: mailto:address[?key=setting][&key=setting] …
Key Ý nghĩa
SUBJECT Tiêu đề Email
CC Danh sách địa chỉ Email người nhận, mỗi địa chỉ cách nhau bằng dấu chấm phẩy (;).
BCC Danh sách địa chỉ Email người nhận được ẩn mỗi địa chỉ cách nhau bằng dấu chấm phẩy (;).
BODY Nội dung Email.
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Gửi Email
 Cơ chế gửi Email
 Gửi mail sử dụng Outlook
 Gửi mail sử dụng Web Mail
– PHP mail() – Non Authentication
– PHP PEAR package – SMTP Authentication
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Gửi mail sử dụng PHP mail() - Non Authentication
 mail(to,subject,message,headers,parameters)
Key Specifies
TO Địa chì email người nhận
SUBJECT Tiêu đề Email (KHÔNG được chứa ký tự xuống dòng)
MESSAGE Nội dung Email
Thông tin thêm (vd: FROM, BCC, CC,…) Các thông tin này nên phân cách nhau
HEADERS bằng ký tự xuống dòng (\r\n)
PARAMETERS Tham số cấu hình cho ứng dụng gửi mail
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9 : PHP nâng cao
Cấu hình mặc định của PHP mail() – Non Authentication
 Cấu hình mặc định được định nghĩa trong file php.ini
Default Ý nghĩa
SMTP localhost DSN hoặc IP Address của SMTP Server
smtp_port 25 Port của SMTP
sendmail_from NULL Địa chỉ người gửi
sendmail_path NULL Đường dẫn đến ứng dụng gửi mail
(UNIX)
© 2007 Khoa CNTT - ĐHKHTN