Lập trình mã nguồn mở - 19

đường dẫn đến file ở client, $server_path là đường dẫn muốn lưu trên Server (đường dẫn có kèm theo tên file). Nếu muốn kiểm tra định dạng file trước khi upload thì có thể sử dụng thông số type để kiểm tra.

6) Các hàm xử lý file khác

Kiểm tra file có tồn tại không: Ta dùng hàm file_exists($path), trong đó $path là đường dẫn đến file cần kiểm tra.

if (file_exists('demo.txt')){ echo 'File tồn tại';

}

Kiểm tra file có được cấp quyền ghi không: Ta dùng hàm is_writable ($path) trong đó

$path là đường dẫn đến file cần kiểm tra.

$fp = @fopen('demo.txt', "w");

// Kiểm tra file mở thành công không if (!$fp){

echo 'Mở file không thành công';

}

else{

if (is_writable ('demo.txt')){ fwrite($fp, 'Welcome');

}

fclose($fp);

}

Lấy nội dung một file mà không cần dùng hàm fread.

Ta dùng hàm file_get_contents($path) để lấy nội dung của một file, trong đó

$path là đường dẫn đến file cần lấy, $path có thể là đường link đến một trang web bất kỳ và nó sẽ trả về nội dung html của trang web đó

Ví dụ:

// Lấy nội dung file txt

echo file_get_contents('demo.txt');

// Lấy nội dung đường link http://www.freetuts.net echo file_get_contents('http://www.freetuts.net');

Ghi nội dung file mà không cần dùng hàm fwrite.

Trước khi dùng hàm này nên dùng hàm is_writable để kiểm tra file có được phép ghi không.

Ta dùng hàm file_put_contents($path, $noidung) để ghi nội dung cho một file, trong đó $path là đường dẫn đến file cần ghi, $noidung là nội dung muốn ghi vào file.

file_put_contents('demo.txt', 'noi dung');

Đổi tên file.

Để đổi tên file ta dùng hàm rename($oldname, $newname), trong đó $oldname là đường dẫn đến file cần đổi tên, $newname là đường dẫn mới có kèm tên file cần đổi

. Nếu chỉ muốn đổi tên thôi thì đường dẫn của cả 2 biến giống nhau chỉ khác nhau ở cái tên file. Nếu tên file mới bị trùng thì file đó sẽ bị ghi đè.

rename('demo.txt', 'demo2.txt');

Copy file.

Để copy sang file mới ta dùng hàm copy($source, $dest), trong đó $source là path file cần copy và $dest là path file cần di chuyển tới. Nếu muốn đổi luôn tên thì đường dẫn $dest khai báo một cái tên khác

if (!copy('demo2.txt', 'demo3.txt')){ echo 'Copy thất bại';

}

Xóa file.

Ta dùng hàm unlink($path) để xóa file, trong đó $path là đường dẫn đến file cần xóa.

if (file_exists('demo.txt')){ unlink('demo.txt');

}

Kiểm tra một đường dẫn folder có tồn tại không.

Ta dùng hàm is_dir($filename), trong đó $filename là đường dẫn đến folder cần kiểm tra.

if(is_dir('system')){ echo 'Folder Tồn Tại';

}

Tạo một folder mới.

Ta dùng hàm mkdir($path) để tạo folder mới, trong đó $path là đường dẫn đến folder cần tạo, lưu ý folder cuối cùng chính là tên folder cần tạo và tất cả các folder trước nó chắc chắn là phải có, nếu không sẽ bị lỗi.

Ví dụ:

// Nếu folder parent chưa có thì sẽ bị lỗi if(!is_dir('parent/sub')){ mkdir('parent/sub');

}

2.14. Bài tập

1. Viết trang PHP hiển thị câu: CHÀO MỪNG CÁC BẠN ĐẾN VỚI LẬP TRÌNH WEB PHP.

2. Sử dụng ngôn ngữ PHP viết trang Web xuất thông tin sinh viên bao gồm: Họ và tên, ngày tháng năm sinh, lớp…

3. Sử dụng ngôn ngữ PHP viết trang Web thực hiện các phép tính cộng, trừ, nhân, chia, chia lấy dư và xuất kết quả ra màn hình. Từ hai biến cho trước ($x=3, $y=5).

- $x, $y được lấy ngẫu nhiên mỗi lần chạy (gợi ý: dùng hàm Rand).

- $x, $y được lấy ngẫu nhiên mỗi lần chạy với điều kiện $x >$y (gợi ý: kết hợp thêm hàm while hoặc do-while).

- $x, $y được lấy ngẫu nhiên mỗi lần chạy với điều kiện $x= k.$y.

- Xuất ra BCLN($x,$y).

- Xuất ra UCLN($x,$y);

4. Viết trang PHP hiển thị dãy số từ 1 đến 100 sao cho số chẵn là chữ in đậm, số lẽ là chữ in thường. Kết quả: 1 2 3 4….., 100. Hướng dẫn: Sử dụng vòng lặp for, 1 biến đếm i, toán tử %.

5. Viết trang PHP hiển thị thông tin sau:

6 Nhập dữ liệu cho một listbox chứa danh sách năm từ 1900 đến năm hiện tại 1

6. Nhập dữ liệu cho một listbox chứa danh sách năm từ 1900 đến năm hiện tại. Hướng dẫn: Sử dụng các thẻ sau:

- Thẻ tạo listbox: <select>, <option>,

- Tạo biến Date, hàm getYear(), vòng lặp for.

7. Viết trang web xuất ra bảng cửu chương từ 2 đến 10.

8. Viết chương trình cho phép đưa số ngẫu nhiên vào mảng có độ dài là n phần tử cho trước. Xây dựng hàm thực hiện các yêu cầu sau:

- Xuất mảng lên trang Web.

- Đếm tổng số chẵn.

- Tính tổng của các số lẻ trong mảng.

- Xuất ra giá trị lớn nhất, nhỏ nhất của mảng.

- Xuất đảo ngược các giá trị trong mảng.

Gợi ý: Sử dụng hàm rand() để tạo giá trị ngẫu nhiên; Rand(x,y) tạo giá trị ngẫu nhiên trong đoạn x,y.

9. Xử dụng foreach để duyệt mảng và xuất các giá trị như sau:

Gợi ý: $list = array("alpha", "beta", "gamma", "delta", "epsilon");

10. Tạo hai trang web PHP có nội dung sau:


Lưu ý: sử dung cho 2 phương thức POST và GET.

11. Viết trang web thực hiện các phép tính sau:

Lưu ý: dùng css để tạo giao diện như yêu cầu, dùng js để tạo chức năng “Quay lại trang trước”.

12 Viết hàm kiểm tra dữ liệu nhập vào kiểm tra ở trang kết quả Nếu dữ 2

12. Viết hàm kiểm tra dữ liệu nhập vào (kiểm tra ở trang kết quả). Nếu dữ liệu là chuỗi ký tự hoặc không hợp lệ (phép chi cho 0,…), tự động quay lại trang web trước đó.

13. Viết trang PHP hiển thị thông tin sau: Thiết kế Form tính diện tích hình chữ nhật

Yêu cầu thiết kế STT Đối tượng Yêu cầu Ghi chú 1 Form Đặt tên Form Thiêt 3

Yêu cầu thiết kế:


STT

Đối tượng

Yêu cầu

Ghi chú

1

Form

- Đặt tên Form

- Thiêt lập phương thức cho Form là POST

- Thiết lập action của Form là tên của trang


2

Điều khiển

- Sử dụng điều khiển TextField, Button

- TextField Diện tích không cho phép nhập dữ liệu và chỉnh sửa


Có thể bạn quan tâm!

Xem toàn bộ 270 trang tài liệu này.

Yêu cầu chức năng:


STT

Đối tượng

Yêu cầu xử lí chức năng

Ghi chú

1

Nút lệnh

“Tính”

Khi chọn sẽ thực hiện lệnh tính:

Diện tích = chiều dài * chiều rộng


14. Thực hiện form sau

Thiết kế Form tính diện tích và chu vi hình tròn

Yêu cầu thiết kế STT Đối tượng Yêu cầu Ghi chú 1 Form Đặt tên Form Thiêt 4

Yêu cầu thiết kế:


STT

Đối tượng

Yêu cầu

Ghi chú

1

Form

- Đặt tên Form

- Thiêt lập phương thức cho Form là POST

- Thiết lập action của Form là tên của trang


2

Điều khiển

- Sử dụng điều khiển TextField, Button

- TextField Diện tích và Chu vi không cho phép nhập dữ liệu và chỉnh sửa


Yêu cầu chức năng:


STT

Đối tượng

Yêu cầu xử lí chức năng

Ghi chú

1

Nút lệnh “Tính”

Khi chọn sẽ thực hiện lệnh tính: Diện tích = PI*R2

Chu vi = 2*PI*R

PI = 3,14

R: Bán kính

15. Thực hiện form Thanh toán tiền điện như sau: Thiết kế Form tính tiền điện:

Yêu cầu thiết kế STT Đối tượng Yêu cầu Ghi chú 1 Form Đặt tên Form Thiêt 5

Yêu cầu thiết kế:


STT

Đối tượng

Yêu cầu

Ghi chú

1

Form

- Đặt tên Form

- Thiêt lập phương thức cho Form là POST

- Thiết lập action của Form là tên của trang


2

Điều khiển

- Sử dụng điều khiển TextField, Button

- TextField số tiền thanh toán không cho phép nhập dữ liệu và chỉnh sửa

- Giá trị mặc định của đơn giá là 2000


Yêu cầu chức năng:


STT

Đối tượng

Yêu cầu xử lí chức năng

Ghi chú

1

Nút lệnh “Tính”

Khi chọn sẽ thực hiện lệnh tính:

Số tiền thanh toán = (Chỉ số mới – Chỉ số cũ)*Đơn giá


16. Viết trang PHP hiển thị kết quả học tập Thiết kế Form kết quả học tập như sau:

Yêu cầu thiết kế STT Đối tường Yêu cầu Ghi chú 1 Form Đặt tên Form Thiêt 6

Yêu cầu thiết kế:


STT

Đối tường

Yêu cầu

Ghi chú

1

Form

- Đặt tên Form





- Thiêt lập phương thức cho Form là POST

- Thiết lập action của Form là tên của trang


2

Điều khiển

- Sử dụng điều khiển TextField, Button

- Các TextField Điểm trung bình, Kết quả, Xếp loại học lực không cho phép nhập dữ liệu và chỉnh sửa


Yêu cầu chức năng:


STT

Đối tượng

Yêu cầu xử lí chức năng

Ghi chú

1

Nút

lệnh

Khi chọn sẽ thực hiện lệnh xem kết quả:



“Xem

kết

ĐTB = (HK1+HK2*2)/3. Xét kết quả:


quả”


- Được lên lớp: nếu ĐTB>=5




- Ở lại lớp: nếu ĐTB<5




Xếp loại học lực:




- Giỏi: nếu ĐTB>=8




- Khá: nếu 6.5<=ĐTB<8




- Trung bình: nếu 5<=ĐTB<6.5




- Yếu: nếu ĐTB<5

17. Viết trang PHP xem kết quả thi Đại học. Thiêt kế Form điểm thi đại học:

Yêu cầu thiết kế STT Đối tượng Yêu cầu Ghi chú 1 Form Đặt tên Form Thiêt 7

Yêu cầu thiết kế:


STT

Đối tượng

Yêu cầu

Ghi chú

1

Form

- Đặt tên Form

- Thiêt lập phương thức cho Form là POST

- Thiết lập action của Form là tên của trang


2

Điều khiển

- Sử dụng điều khiển TextField, Button

- Các TextField Tổng điểm, Kết quả thi không cho phép nhập dữ liệu và chỉnh sửa


Yêu cầu chức năng:


STT

Đối tượng

Yêu cầu xử lí chức năng

Ghi chú

1

Nút

lệnh

Khi chọn sẽ thực hiện lệnh xem kết quả:



“Xem

kết

Tổng điểm = Toán + Lý + Hóa


quả”


Đỗ khi không có môn nào 0 điểm và tổng




điểm >= điểm chuẩn, ngược lại trượt

18. Tính cạnh huyền tam giác

Thiết kế Form canh huyền tam giác vuông:

Yêu cầu thiết kế STT Đối tượng Yêu cầu Ghi chú 1 Form Đặt tên Form Thiêt 8

Yêu cầu thiết kế:


STT

Đối tượng

Yêu cầu

Ghi chú

1

Form

- Đặt tên Form

- Thiêt lập phương thức cho Form là POST

- Thiết lập action của Form là tên của trang


2

Điều khiển

- Sử dụng điều khiển TextField, Button

- TextField Cạnh huyền không cho phép nhập dữ liệu và chỉnh sửa


Yêu cầu chức năng:


STT

Đối tượng

Yêu cầu xử lí chức năng

Ghi chú

1

Nút lệnh “Tinh”

Khi chọn sẽ thực hiện lệnh tính:

Tính giá trị cạnh huyền theo công thức


19 Viết trang PHP Tìm số lớn nhất Thiết kế Form tìm số lớn hơn Yêu cầu 9


19. Viết trang PHP Tìm số lớn nhất. Thiết kế Form tìm số lớn hơn

Yêu cầu thiết kế 10

Yêu cầu thiết kế:

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 15/07/2022