Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPTMasterCode.vn
Hiểu về hệ thống phân cấp dữ liệu mà máy tính xử lý
Hiểu về file, biết cách đọc và ghi dữ liệu từ file truy cập
tuần tự
Biết cách sử dụng điều khiển OpenFileDialog
Biết cách sử dụng điều khiển MonthCalendar
Biết cách sử dụng điều khiển MenuStrip
Biết cách sử dụng mảng và mảng động
Bài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPTMasterCode.vn
Tìm hiểu về danh sách liên kết (Linked List):
Khái niệm danh sách liên kết
Các thao tác trên danh sách liên kết
Tìm hiểu về Set (tập hợp):
Định nghĩa Set
Các đặc trưng
Cách cài đặt Set bằng VB.Net
Giáo trình PHP căn bản - Lọc dữ liệu với PHP Filter (CH003 Bài 5)KhanhPham
Giáo trình PHP căn bản - Lọc dữ liệu với PHP Filter (CH003 Bài 5)
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
BÀI 7: Thao tác với file - các vấn đề khác - Giáo trình FPTMasterCode.vn
Hiểu về hệ thống phân cấp dữ liệu mà máy tính xử lý
Hiểu về file, biết cách đọc và ghi dữ liệu từ file truy cập
tuần tự
Biết cách sử dụng điều khiển OpenFileDialog
Biết cách sử dụng điều khiển MonthCalendar
Biết cách sử dụng điều khiển MenuStrip
Biết cách sử dụng mảng và mảng động
Bài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPTMasterCode.vn
Tìm hiểu về danh sách liên kết (Linked List):
Khái niệm danh sách liên kết
Các thao tác trên danh sách liên kết
Tìm hiểu về Set (tập hợp):
Định nghĩa Set
Các đặc trưng
Cách cài đặt Set bằng VB.Net
Giáo trình PHP căn bản - Lọc dữ liệu với PHP Filter (CH003 Bài 5)KhanhPham
Giáo trình PHP căn bản - Lọc dữ liệu với PHP Filter (CH003 Bài 5)
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Slides nói rõ về mô hình MVC trong lập trình ứng dụng web với ngôn ngữ Java.
Tham khảo Sourcecode vui lòng liên hệ email: pinuit11@gmail.com
Chúc các bạn học tập tốt!
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webMasterCode.vn
Cách tổ chức mô hình MVC
Ưu điểm của mô hình MVC trong việc phát triển
ứng dụng web
Cách tạo và gọi hàm theo phong cách mô hình
MVC
Phân biệt khi nào nên forward hoặc chuyển
hướng yêu cầu HTTP
Giới thiệu về framework CakePHP
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9KhanhPham
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Youtube: youtube.com/user/luutruonghailan
Giáo trình thiết kế web - Thiết kế web với DreamweaverKhanhPham
Giáo trình thiết kế web - Thiết kế web với Dreamweaver
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Youtube: www.youtube.com/user/luutruonghaila
Tự học HTML CSS JS - Khóa học HTML CSS JS chuyên sâuKhanhPham
Tự học HTML CSS JS - Khóa học HTML CSS JS chuyên sâu
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Youtube: www.youtube.com/user/luutruonghailan
Học Zend Framework - Khóa học lập trình Zend FrameworkKhanhPham
Học Zend Framework - Khóa học lập trình Zend Framework
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Youtube: https://www.youtube.com/watch?v=8XT6cCq6eyY
Tai lieu PHP nang cao - Sử dụng Session và Cookie trong php (CH003 Bài 7)KhanhPham
Tai lieu PHP nang cao - Sử dụng Session và Cookie trong php (CH003 Bài 7)
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Giao trinh PHP nang cao - Kỹ thuật đệ qui trong PHP (CH003 Bài 3)KhanhPham
Giao trinh PHP nang cao - Kỹ thuật đệ qui trong PHP (CH003 Bài 3)
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Giáo trình PHP nâng cao - Biểu thức chính qui trong PHP Regex (CH003 Bài 1)KhanhPham
Giáo trình PHP nâng cao - Biểu thức chính qui trong PHP Regex (CH003 Bài 1)
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)KhanhPham
Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2KhanhPham
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2. Hướng dẫn cách cài đặt, cấu hình ZF2.
Để tìm hiểu kỹ hơn các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Tài liệu lập trình Wordpress - bài 5 - Action và Action hook trong WordpressKhanhPham
Tài liệu lập trình Wordpress - bài 5 - Action và Action hook trong Wordpress
Hook giống như là xương sống của WordPress. Chúng cho phép các lập trình viên gắn (hook) các Plugin vào quá trình hoạt động của hệ thống WP để thay đổi một số cách thức hoạt động mà không cần trực tiếp sửa chữa trong lõi của WP. Điều này cho phép người dùng dễ dàng nâng cấp lên phiên bản mới hơn của WP mà không mất đi các đoạn mã đã sửa đổi
Để tìm hiểu kỹ hơn về bài học này các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Giáo trình lập trình Wordpress - bài 4 - Tạo Plugin căn bản KhanhPham
• Tạo ra nền tảng vững chắc Plugin.
• Xác định thư mục và tập tin đường dẫn.
• Sử dụng chức năng Active và Deactivate.
• Tìm hiểu về các phương thức uninstall plugin.
• Cách viết code chuẩn trong WP
Khi phát triển một Plugin trong WordPress, điều này cần thiết để bắt đầu một nền tảng Plugin vững chắc. Bắt đầu với một nền tảng tốt có thể loại bỏ sự đau đầu khi các bạn phát triển các Plugin . Các kỹ thuật được thảo luận trong chương này sẽ được xử dụng xuyên trong quá trình học của chúng ta.
Để tìm hiểu kỹ hơn về bài học này các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
2. Vấn đề 01: Kiểm tra sự tồn tại của tập tin, thư mục
Sử dụng hàm file_exist($fileName) để kiểm tra sự tồn tại của tập tin, thư mục
• $filename: tên (đường dẫn) tập tin, thư mục cần kiểm tra
• Kết quả trả về true Tồn tại
• Kết quả trả về false Không tồn tại
3. Vấn đề 02: Xem một số thông tin cơ bản của tập tin, thư mục
• filetype($fileName) trả về kiểu của $filename (tập tin hoặc thư mục)
• filesize($fileName) trả về dung lượng của $filename (đơn vị bytes)
• is_readable($fileName) kiểm tra $fileName có được quyền đọc hay không ?
• is_writeable($fileName) kiểm tra $fileName có được quyền ghi hay không ?
• is_executable($fileName) kiểm tra $fileName có được quyền thực thi hay không ?
4. Vấn đề 03: Các hàm lấy thông tin từ đường dẫn
• basename($path) trả về kết quả là tên của tập tin từ đường dẫn $path
• dirname($path) trả về tên thư mục tại đường dẫn $path
• pathinfo ($path, $options) trả về một mảng các thông tin từ đường dẫn $path
o dirname
o basename
o extension
5. Vấn đề 04: Thống kê số dòng, số từ và số ký tự trong file
• file ($fileName) đọc tập tin $fileName thành một mảng, mỗi dòng trong tập tin
$fileName tương ứng với một phần tử của mảng
• file_get_contents ($fileName) đọc tập tin $fileName thành một chuỗi
6. Vấn đề 05: Ghi nội dung vào tập tin với file_put_contents
• Sử dụng hàm file_put_contents ($fileName, $data, $mod) để ghi nội dung $data
vào tập tin $fileName
• Quá trình thực thi của hàm file_put_contents(): Tạo ra tập tin nếu tập tin đó
chưa tồn tại Mở tập tin Ghi nội dung Đóng tập tin
• Nếu $mod = FILE_APPEND nội dung cũ ở tập tin được giữ, nội dung mới được
ghi vào cuối tập tin
• Nếu ghi thành công, trả về tổng số ký tự đã ghi ngược lại trả về FALSE
7. Vấn đề 06: Đổi tên tập tin, thư mục
• Sử dụng hàm rename ($oldName, $newName) để đổi tên tập tin, thư mục từ
giá trị $oldName thành giá trị $newName (lưu ý thay đổi cả phần đường dẫn)
• Hàm trả về kết quả TRUE nếu rename thành công, trả về kết quả FALSE nếu
rename không thành công
8. Vấn đề 07: Sao chép tập tin
• Sử dụng hàm copy ($sourceFile, $destinationFile) để copy nội dung từ tập tin
$sourceFile sang tập tin $destinationFile
• Hàm trả về kết quả TRUE nếu copy thành công, trả về kết quả FALSE nếu copy
không thành công
• Làm sao copy một thư mục nào đó ?
9. Vấn đề 08: Khái quát về vấn đề phân quyền tập tin, thư mục (P1)
Xét mối quan hệ giữa người dùng và một tập tin, thư mục. Chúng ta có 3 nhóm
sau đây:
• Owner/User: Người sở hữu, chủ tài khoản.
• Group: Các tài khoản cùng hoạt động trong một nhóm.
• Other/Guest: Ngoài 2 đối tượng trên.
10. Vấn đề 08: Khái quát về vấn đề phân quyền tập tin, thư mục (P2)
Xét về quyền thao tác giữa người dùng và một tập tin. Chúng ta có 3 loại quyền
sau:
• Read: có thể đọc nội dung trong tập tin
• Write: có thể thay đổi nội dung của tập tin
• Execute: có thể mở tập tin (khởi chạy chương trình nếu là một tập tin ứng dụng)
11. Vấn đề 08: Khái quát về vấn đề phân quyền tập tin, thư mục (P3)
Xét về quyền thao tác giữa người dùng và một thư mục. Chúng ta có 3 loại quyền
sau:
• Read: Có thể duyệt nội dung trong thư mục (Xem trong thư mục có gì, phải đi
kèm với quyền Execute).
• Write: Có thể thay đổi nội dung trong thư mục này (Thêm, xóa, sửa, đổi tên thư
mục/tập tin bên trong thư mục này).
• Execute: Có thể mở thư mục (Mở thư mục ra, nhưng không thể thấy gì trong
thư mục này nếu không đi kèm với quyền Read).
12. Vấn đề 08: Khái quát về vấn đề phân quyền tập tin, thư mục (P4)
Cấp quyền truy cập cho tập tin, thư mục:
• Quyền cho một tập tin, thư mục thường được biểu diễn tương ứng với một số
nguyên có 3 chữ số xyz
o Số thứ nhất x - đại diện cho quyền hạn của Owner/User.
o Số thứ hai y - đại diện cho quyền hạn của Group.
o Số thứ ba z - đại diện cho quyền hạn của Other/Guest.
13. Vấn đề 08: Khái quát về vấn đề phân quyền tập tin, thư mục (P5)
Giá trị của các chữ số xyz, quy định như sau:
• Read = 4
• Write = 2
• Execute = 1
Read + Write + Execute = 4 + 2 + 1 = 7 (Toàn quyền)
Read + Execute = 4 + 1 = 7 (Chỉ có thể đọc và thực thu tập tin)
14. Vấn đề 08: Khái quát về vấn đề phân quyền tập tin, thư mục (P6)
Một tập tin được cấu hình với quyền 754, như vậy chúng ta có các thông tin sau:
• Chữ số đầu tiên 7 = 4 + 2 + 1 quyền: toàn quyền Owner/User có toàn
quyền
• Chữ số thứ hai 5 = 4 + 1 quyền: đọc và thực thi Group có quyền đọc và
thực thi
• Chữ số thứ ba 4 quyền: đọc Other/Guest chỉ có quyền đọc tập tin.
15. Vấn đề 09: Tạo – Xóa – Cấp quyền cho thư mục
• Sử dụng hàm mkdir ($path, $mode) để tạo ra thư mục ở đường dẫn $path, với
quyền truy cập vào thư mục là $mode
• Sử dụng hàm rmdir ($path) để xóa thư mục ở đường dẫn $path
• Sử dụng hàm fileperms ($dirName) để xem quyền truy cập đối với thư mục
$dirName
• Sử dụng hàm chmod ($dirName, $mod) để cấp quyền truy cập cho thư mục
$dirName
16. Vấn đề 10: Tạo – Xóa – Cấp quyền cho tập tin
• Sử dụng hàm file_put_contents ($path, null) để tạo ra tập tin ở đường dẫn
$path
• Sử dụng hàm unlink ($path) để xóa tập tin ở đường dẫn $path
• Sử dụng hàm fileperms ($fileName) để xem quyền truy cập đối với tập tin
$fileName
• Sử dụng hàm chmod ($fileName, $mod) để cấp quyền truy cập cho tập tin
$fileName
17. Vấn đề 11: Liệt kê danh sách tập tin và thư mục
• Sử dụng hàm glob ($pattern) để lấy danh sách các tập tin và thư mục với tên
thỏa $pattern
• Sử dụng tham số thứ hai GLOB_ONLYDIR để kết quả trả về chỉ bao gồm các
thư mục.
18. Vấn đề 12: Tìm hiểu hàm parse_ini_file (1)
• Cấu trúc tập tin *.ini
19. Vấn đề 12: Tìm hiểu hàm parse_ini_file (2)
• Sử dụng hàm parse_ini_file ($fileName) để đọc nội dung $fileName thành một
mảng.
• Lưu ý nếu muốn đọc luôn các phần section cần truyền giá trị TRUE vào tham số
thứ hai
20. Vấn đề 13: Một số định nghĩa về hệ thống cây thư mục (1)
21. Vấn đề 13: Một số định nghĩa về hệ thống cây thư mục (2)
• Root-directory: thư mục cao nhất trong cây thư mục và trên nó không còn có
một thư mục nào khác. Root-directory được đánh dấu với ký hiệu /
• Working-directory (current directory): thư mục mà người sử dụng đang làm việc
• Parent-directory: thư mục cha - thư mục nằm ngay phía trên một thư mục khác
trong cây thư mục
• Path (đường dẫn): mỗi tệp tin hay thư mục trong hệ thống linux được chỉ định
bởi một đường dẫn (để truy cập vào tập tin hay thư mục đó)
22. Vấn đề 13: Phân biệt đường dẫn tuyệt đối – Đường dẫn tương đối
• Đường dẫn tuyệt đối:
o Là những đường dẫn được tính từ root (/), đi qua các thư mục khác cho đến tập tin hoặc
thư mục đích
o Khi chúng ta đang ở article.php, đường dẫn tuyệt đối đến các tập tin
style.css sẽ là /style/style.css
vi.php sẽ là /lib/language/vi.phpstyle.css
o Thường được dùng với các hàm include, require để nhúng các tập tin .php vào một tập tin
php nào đó hoặc dùng để khai báo thư mục chứa hình ảnh trên host
23. Vấn đề 13: Phân biệt đường dẫn tuyệt đối – Đường dẫn tương đối
• Đường dẫn tương đối:
o Là những đường dẫn có điểm xuất phát là thư mục hiện tại (current diractory).
o Khi chúng ta đang ở article.php, đường dẫn tương đối đến các tập tin
style.css sẽ là ../css/style.css
vi.php sẽ là /lib/language/vi.php
o Thường được sử dụng để load các tập tin javascript, css và hình ảnh lên và hiển thị trong
trang web
24. Vấn đề 14: Thao tác với thư mục
• getcwd() trả về thư mục hiện tại
• realpath() trả về đường dẫn tuyệt đối của đường dẫn $path
• chdir() thay đổi thư mục hiện tại
• dir() mở một thư mục lên và thao tác với thư mục đó (3 thao tác read, rewind,
close )
• opendir() mở một thư mục lên và thao tác với thư mục đó
• closedir() đóng thư mục được mở bởi hàm opendir()
• scandir() lấy danh sách các tập tin và thư mục của đường dẫn $path
25. Vấn đề 15: Liệt kê cấu trúc tập tin thư mục đến cấp 2
26. Bài tập: Một số yêu cầu bổ sung
• Khi danh sách rỗng: hiển thị thông báo, ẩn button Delete File (index.php)
• Thay đổi thông báo trong trường hợp Add và Edit File (add.php, edit.php)
• Truyền ID của file chưa tồn tại: hiển thị thông báo (edit.php, delete.php)
• Xóa nhiều file: Hiển thị một hộp thoại xác nhận lại yêu cầu xem người dùng có
chắc chắn muốn xóa các file đó hay không ? (multy-delete.php)