Tài liệu hướng dẫn cách chèn file, xây dựng chức năng upload file từ client lên server, sử dụng session để tạo chức năng đăng nhập và đăng xuất, tạo các file cookie trên máy người dùng. Tại mỗi chức năng có ví dụ và hình ảnh minh họa cụ thể, rõ ràng nhằm giúp người học dễ dàng thực hành để hình thành kỹ năng.
Nội dung PHP nâng cao Trần Thị Bạch Huệ Chèn file – Hàm include() Chúng ta chèn nội dung file php vào file php khác trước server thực thi cách dùng hàm include() require() Hai hàm giống chức khác cách kiểm soát lỗi – Chèn file Upload file Sessions Cookies Error Exception Lấy tất nội dung file định chèn vào file hành Nếu có lỗi, hàm phát warning script tiếp tục thực thi Ví dụ 1: vars.php echo "A $color $fruit"; // A include 'vars.php'; echo "A $color $fruit"; // A green apple ?> Ví dụ 2: foo(); echo "A $color $fruit"; noreturn.php // A green apple // A green testreturns.php ?> Hàm require() Hàm require() có chức tương tự hàm include() khác cách kiểm soát lỗi Khi gặp lỗi, hàm include() phát warning script tiếp tục thực thi hàm require() phát fatal error dừng thực thi script Ví dụ 1: Warning: include(wrongFile.php) [function.include]: failed to open stream: No such file or directory in C:\home\website\test.php on line Warning: include() [function.include]: Failed opening 'wrongFile.php' for inclusion (include_path='.;C:\php5\pear') in C:\home\website\test.php on line Thông báo lỗi: Hello World! Lệnh echo thực thi Warning không dừng việc thực thi script Ví dụ 2: Thơng báo lỗi: Warning: require(wrongFile.php) [function.require]: failed to open stream: No such file or directory in C:\home\website\test.php on line Fatal error: require() [function.require]: Failed opening required 'wrongFile.php' (include_path='.;C:\php5\pear') in C:\home\website\test.php on line Lệnh echo không thực thi fatal error dừng việc thực thi script 10 Upload file 11 Để upload files từ client lên server, dùng mảng kết hợp toàn cục $_FILES Mảng chứa tất thông tin file upload tên file (name), loại file (type) hay kích cỡ file (size),… Chỉ số mảng $_FILES name input file form Chỉ số thứ hai “name”, “type”, “size”, “tmp_name” “error” – – – – – $_FILES["file"]["name"] – Tên file cần upload $_FILES["file"]["type"] – Loại file “image/gif” $_FILES["file"]["size"] – Kích cỡ file cần upload tính theo byte $_FILES["file"]["tmp_name"] – Tên file tạm thời copy file cần upload nằm server $_FILES["file"]["error"] – Mã lỗi upload file Mặc định files lưu trữ tạm thời thư mục tmp (temporary) server Chúng bị xóa trang web bị đóng Để lưu trữ files này, cần copy tới nơi khác server 12 Ví dụ: File name 13 14 Save file upload: – – Trang upload_file.php phía server viết lại: Tức di chuyển files từ thư mục tmp đến thư mục khác Dùng hàm move_uploaded_file có cú pháp: bool move_uploaded_file(string $filename, string $destination) 15 Trang upload_file.php phía server filename: Tên file upload (tên file cần copy) destination: Nơi lưu trữ file (thư mục chuyển đến) 16 Session Ngồi ra, dùng hàm file_exists để kiểm tra liệu file upload có tồn hay khơng? bool file_exists ( string $filename ) – filename: Đường dẫn tới file cần kiểm tra (Tham khảo ví dụ help) 17 – Tuy nhiên, việc lưu trữ tạm thời chúng bị xóa người dùng rời khỏi website 18 19 Khi mở ứng dụng, thao tác đóng lại Điều giống Session Tuy nhiên, máy tính biết ta Vấn đề Internet khác Web server làm địa HTTP khơng nói lên điều Session giải điều cách cho phép lưu trữ thông tin người dùng server cho lần sử dụng sau (như username, họ tên,…) Session làm việc cách tạo id (UID – User ID) cho người viếng thăm lưu trữ thông tin người dùng dựa id vừa tạo Thông tin lưu trữ dùng chung cho tất trang phiên làm việc UID lưu trữ cookie truyền qua URL Bắt đầu session – – Bắt đầu session hàm session_start() bool session_start( ) Hàm tạo session hồi phục lại session hành dựa id session gởi yêu cầu GET POST, gởi kèm cookies 20 Ví dụ 1: … 22 Code page2.php: 23 Đoạn mã đăng ký session người dùng với server, cho phép lưu trữ thông tin người dùng gán user id (UID) cho session 21 Lưu trữ thông tin người dùng vào session cách sử dụng mảng kết hợp $_SESSION Ví dụ 2: Trang page1.php có code sau: Ví dụ 3: – Tại trang page1.php tạo: Output: greencat – Form đăng nhập gồm username nút Sign in Nếu người dùng nhập username nhấn nút Sign in thơng báo “hello username” Ngược lại thông báo “Bạn chưa đăng nhập” Tại trang page2.php: Kiểm tra thông báo xem user đăng nhập chưa 24 Trang page1.php: