Upload
khanh-trung
View
249
Download
0
Embed Size (px)
Citation preview
TH – PHP (Thao tác với tập tin)
Bài 1: Thiết kế trang như sau
Kết quả sau khi nhấn Upload File
Yêu cầu thiết kế:
Stt Đối tượng Yêu cầu Ghi chú
1 Form - Đặt tên cho Form
- Thiết lập phương thức cho Form là post
- Và action của Form là tên của trang
2 Điều khiển - Sử dụng điều khiển File Field, Button
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
Upload
File
- Khi chọn, thực hiện:
o Kiểm tra xem file upload có hợp lệ hay
không, nếu không hợp lệ in ra thông báo lỗi.
o Nếu hợp lệ thì upload file này vào thư mục
images đã được tạo sẵn, sau đó in ra các thông
tin về file: tên file, loại, kích cỡ, thư mục lưu trữ
file. Sau đó đọc các tập tin trong thư mục
images để xem tập tin của mình đã được upload
vào hay chưa. Hiển thị như hình trên.
Hướng dẫn giải
Stt Đối tượng Xử lý
1 Trang - Tạo một trang tên là file_upload.php
2 Nút lệnh
Upload
File
- Kiểm tra xem file upload có hợp lệ hay không?
- Nếu hợp lệ thì dùng hàm:
move_uploaded_file ($_FILES["file"]["tmp_name"], "images/"
. $_FILES["file"]["name"]); để di chuyển file này vào thư mục
images.
- In ra các thuộc tính của file này như đã hướng dẫn trên.
- Đọc thư mục images để kiểm tra sự tồn tại của file vừa Upload
Bài 2: Tạo hai trang PHP có tên là them_bo_hoa và doc_bo_hoa như sau
Trang them_bo_hoa
Kết quả sau khi nhấn Thêm bó hoa
Trang doc_bo_hoa
Kết quả sau khi chọn Xem các bó hoa
Yêu cầu thiết kế:
Stt Đối tượng Yêu cầu Ghi chú
1 Form - Đặt tên cho Form
- Thiết lập phương thức cho Form là post
- Và action của Form là tên của trang
2 Điều khiển - Sử dụng điều khiển Text Field, File Field, Button
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
Thêm bó
hoa
- Khi chọn, thực hiện:
Kiểm tra nội dung nhập vào và file upload. Nếu
tất cả đều hợp lệ thì ráp các thông tin về bó hoa
thành một chuỗi với định dạng như sau: /*<tên
bó hoa>|<giá bán>|<tên file hình ảnh upload>.
Ghi chuỗi này vào file hoa_xuan.txt
Sau đó hiển thị thông tin như hình trên
Khi người dùng click chọn "Xem các bó hoa"
thì link qua trang doc_bo_hoa.
Trang doc_bo_hoa đọc nội dung của tập tin
hoa_xuan.txt, định dạng lại nội dung này và
hiển thị như hình trên.
Nếu người dùng click chọn "Thêm bó hoa mới"
thì link trở lại trang them_bo_hoa.
Hướng dẫn giải
Stt Đối tượng Xử lý
1 Trang - Tạo một trang tên là them_bo_hoa.php
- Và một trang có tên là doc_bo_hoa.php
2 Nút lệnh
Thêm bó
hoa
Bước 1: Ghi vào file
- Lấy các giá trị của các điều khiển, sau đó gán vào chuỗi $noi_dung
với định dạng như sau:
noi_dung =/* tên bó hoa | giá bán | hình ảnh
- Upload hình bó hoa vào thư mục hinh_anh
- Mở file và ghi nội dung vào file.
- Hiển thị bó hoa vừa được ghi dựa trên những giá trị đã có.
- Gán cho value của các điều khiển giá trị đã có.
- Tạo link để qua trang doc_bo_hoa.php
3 Bước 2: Đọc file và hiển thị theo yêu cầu ở trang các bó hoa
- Đọc file hoa_xuan.txt và định dạng lại thành một mảng hoa:
mang_hoa= explode(“/*",$noi_dung);
- Duyệt mảng hoa, với từng phần tử trong $mang_hoa, tách thành một
mảng chứa các thông tin của một bó hoa:
mang= explode(“|”,$mang_hoa[$i]);
- Xuất các bó hoa trong một table với mỗi dòng gồm có ba bó hoa
- Tạo link để quay về trang them_bo_hoa.php
Bài 3: Thiết kế hai trang như sau
- Trang 1: tao_session
Kết quả sau khi nhấn Đăng nhập
- Trang 2: doc_session
Kết quả sau khi nhấn Click here! của trang tao_session
Yêu cầu thiết kế:
Stt Đối tượng Yêu cầu Ghi chú
1 Form - Đặt tên cho Form
- Thiết lập phương thức cho Form là post
- Và action của Form là tên của trang
2 Điều khiển - Sử dụng điều khiển TextField, Button
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
Đăng nhập
- Khi chọn, thực hiện tính
o Lấy giá trị trên TextField sau đó gán cho các
biến session sau đó hiển thị như hình trên
o Khi người dùng chọn link thì sẽ chuyển sang
trang doc_session
o Ở trang doc_session yêu cầu đọc các biến
session đã có ở trang tao_session và hiển thị
như hình trên
o Khi người dùng chọn link thì sẽ quay trở về
trang tao_session
Hướng dẫn giải
Stt Đối tượng Xử lý
1 Trang - Tạo một trang tên là tao_session.php
- Và một trang tên là doc_session.php
2 Nút lệnh
Đăng nhập
- Khởi động session: dùng hàm session_start();
- Tạo và gán giá trị cho session
$_SESSION[“ten_bien”] = giá trị;
Ví dụ: $_SESSION[“ten_dn”] = $ten_dn; lấy giá trị của biến
$ten_dn và gán cho $_SESSION[“ten_dn”]
- Đọc giá trị biến session:
$gia_tri = $_SESSION[“ten_bien”];
Ví dụ: $ten_dn = $_SESSION[“ten_dn”];
Bài 4: Tạo hai trang PHP có tên là tao_cookie và doc_cookie như sau
- tao_cookie
Kết quả sau khi nhấn Xác nhận
- doc_cookie
Kết quả sau khi nhấn Click here! của trang tao_cookie
Yêu cầu thiết kế:
Stt Đối tượng Yêu cầu Ghi chú
1 Form - Đặt tên cho Form
- Thiết lập phương thức cho Form là post
- Và action của Form là tên của trang
2 Điều khiển - Sử dụng điều khiển TextField, Button
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
Xác nhận
- Khi chọn, thực hiện tính
o Lấy giá trị trên TextField gán cho biến cookie sau
đó hiển thị như hình trên
o Khi người dùng chọn link thì sẽ chuyển sang
trang doc_cookie
o Ở trang doc_cookie yêu cầu đọc biến cookie đã có
ở trang tao_cookie và hiển thị như hình trên
o Khi người dùng chọn link thì sẽ quay trở về trang
tao_cookie
Hướng dẫn giải
Stt Đối tượng Xử lý
1 Trang - Tạo một trang tên là tao_cookie.php
- Và một trang tên là doc_cookie.php
2 Nút lệnh
Xác nhận
- Tạo và gán giá trị cho cookie
setcookie(tên biến, giá trị, thời gian);
Ví dụ: setcookie(“thong_tin”,$thong_tin, time()+3600): lấy giá
trị của biến $thong_tin và gán cho $_COOKIE[“thong_tin”]
- Đọc giá trị biến cookie:
$gia_tri = $_COOKIE[“ten_bien”];
Ví dụ: $thong_tin = $_COOKIE[“thong_tin”];
Bài 5: Tạo trang PHP như sau (khi thư mục được click chọn là "image_gallery") (BTVN)
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 Không có - Đọc các thư mục con và các tập tin trong thư mục
hiện hành và hiển thị như hình trên.
- Đọc các tập tin và thư mục con trong thư mục được
click chọn.
Hướng dẫn giải
Stt Đối tượng Xử lý
1 Trang - Tạo một trang tên là doc_thu_muc.php
- Và một trang tên là doc_thu_muc_con.php
2 Ở trang đọc thư mục MBOOK_PHP:
- Mở thư mục MBOOK_PHP: $dir = opendir(“../MBOOK_PHP”);
- Duyệt thư mục:
while (($file = readdir($dir)) !== false)
{
Nếu là tập tin -> In tập tin
Nếu là thư mục -> In thư mục, tạo 1 link đến trang khác
và đồng thời gửi kèm theo tên thư mục:
<a href='doc_tm_con.php?ten_tm=".$file."'>$file</a>
}
Ở trang đọc thư mục con:
- Lấy tên thư mục bằng $ten_tm = $_REQUEST[“ten_tm”];
- Mở thư mục này $dir = opendir($ten_tm);
- Duyệt thư mục:
while (($file = readdir($dir)) !== false)
{
In thư mục và in tập tin
}
- Đóng thư mục
- Tạo link quay về trang doc_thu_muc.php
Bài 6: Thiết kế trang như sau (BTVN)
Kết quả sau khi nhấn Ghi và đọc file
Yêu cầu thiết kế:
Stt Đối tượng Yêu cầu Ghi chú
1 Form - Đặt tên cho Form
- Thiết lập phương thức cho Form là post
- Và action của Form là tên của trang
2 Điều khiển - Sử dụng điều khiển TextField, Button
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
Ghi và đọc
file
- Khi chọn, thực hiện:
Định dạng nội dung mà người dùng nhập vào
theo cấu trúc: tên hàng \t số lượng \t đơn giá \t
thành tiền \n
Mở file mặc định là tap_tin/sp.txt hay do người
dùng nhập.
Ghi nội dung vào file này.
Sau đó mở và xuất nội dung trong file này như
hình trên.
Hướng dẫn giải
Stt Đối tượng Xử lý
1 Trang - Tạo một trang tên là ghi_file_dinh_dang.php
2 Nút lệnh
Ghi và đọc
file
- Lấy các giá trị của các điều khiển, sau đó gán vào chuỗi $noi_dung
với định dạng như sau:
$noi_dung = tên hàng \t số lượng \t đơn giá \t thành tiền \n
- Mở file và ghi nội dung vào file.
- Đọc file và định dạng lại mỗi sản phẩm là một mảng bằng hàm
explode("\t",$noi_dung);
- Xuất mảng dưới dạng table như yêu cầu
Bài 7: Thiết kế trang như sau (BTVN)
Kết quả sau khi nhấn Show Gallery
Yêu cầu thiết kế:
Stt Đối tượng Yêu cầu Ghi chú
1 Form - Đặt tên cho Form
- Thiết lập phương thức cho Form là post
- Và action của Form là tên của trang
2 Điều khiển - Sử dụng điều khiển List/Menu, Button
o Trong đó: List/Menu thư mục là danh sách các
thư mục có trong thư mục gốc "image_gallery"
(gợi ý: dùng các hàm đọc và liệt kê thư mục để
đọc các thư mục con trong thư mục này)
o List/Menu size gồm các kích cỡ: 50, 100, 150,
200
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
Show
Gallery
- Khi chọn, thực hiện:
Đọc tất cả các tập tin hình ảnh có trong thư mục được
chọn và hiển thị nó với kích cỡ được chọn như hình
trên (Gợi ý: tạo một mảng các loại file hình ảnh, sau
đó khi duyệt từng tập tin trong thư mục so sánh đuôi
của tập tin là một trong các phần tử của loại file thì
hiển thị file này).
Bài 8: Thiết kế trang như sau (BTVN)
o Phần 1: Thêm vào món ăn mới:
Kết quả sau khi nhấn Thêm món ăn chính là màn hình như trên
o Phần 2: Hiển thị các món ăn:
Khi chưa click chọn loại món ăn, hiển thị món đầu tiên:
Khi chọn loại món ăn (Ví dụ: món "Xào": hiển thị tất cả các món xào)
Yêu cầu thiết kế:
Stt Đối tượng Yêu cầu Ghi chú
1 Form - Đặt tên cho Form
- Thiết lập phương thức cho Form là post
- Và action của Form là tên của trang
2 Điều khiển - Sử dụng điều khiển TextField, TextArea,
List/Menu, Button
- File field: dùng để upload file hình ảnh liên quan
tới món ăn
- List/Menu: đọc tập tin mon.txt và gán vào danh
sách món ăn.
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
Cập nhật
- Khi chọn, thực hiện:
Ghi các nội dung của món ăn mới này vào tập tin
mon_an.txt.
Hiển thị các thông tin về món ăn trên Form như
hình trên.
Trong đó, định dạng hiển thị như sau:
Tên món ăn tô đậm màu.
Cách chế biến được in xuống dòng theo
cách nhập của người dùng
2 Không - Phía dưới Form thêm món ăn hiển thị một bảng
gồm hai cột: Một cột dùng để hiển thị danh sách các
món ăn, một cột dùng để hiển thị thông tin món ăn.
- Khi người dùng chưa chọn loại món ăn thì hiển thị
thông tin của món ăn đầu tiên trong tập tin
mon_an.txt, còn khi người dùng chọn loại món ăn
nào, thì hiển thị thông tin các món ăn thuộc loại
món ăn đó.
- Hiển thị như hình trên
Hướng dẫn giải
Stt Đối tượng Xử lý
1 Trang - Tạo một trang tên là mon_an.php
- Tạo Form theo yêu cầu.
- Đọc các loại món ăn có trong tập tin tap_tin/loai.txt và gán danh sách
vào List/Menu
2 Nút lệnh
Cập nhật Bước 1: Ghi vào file
- Lấy các giá trị của các điều khiển, sau đó gán vào chuỗi $noi_dung
với định dạng như sau:
$noi_dung =/* loại món | tên món | chế biến | hình
- Upload hình món ăn vào thư mục hinh_anh
- Mở file và ghi nội dung vào file.
- Gán cho value của các điều khiển giá trị đã có.
3 Trang Bước 2: Đọc file và hiển thị theo yêu cầu
- Hiển thị các loại món ăn:
- Đọc file loai.txt và định dạng lại thành một mảng loại:
$mang_loai= explode(“/*",$noi_dung);
- Duyệt mảng loại, với từng phần tử trong $mang_loai, tách thành một
mảng chứa các thông tin của một loại món:
$mang= explode(“|”,$mang_loai[$i]);
- Xuất các loại món ăn dạng Hyperlink có kèm theo mã loại.
- Hiển thị các món ăn:
- Đọc file mon_an.txt và định dạng lại thành một mảng món:
$mang_mon= explode(“/*",$noi_dung);
- Duyệt mảng món ăn, với từng phần tử trong $mang_mon, tách thành
một mảng chứa các thông tin của một món ăn:
$mang= explode(“|”,$mang_loai[$i]);
- Lấy giá trị của loại món ăn: $ml=$_REQUEST[“ML”];
Nếu $ml==“” thì in ra món ăn đầu tiên.
Nếu $ml<>”” thì in ra các món ăn có mã loại giống với $ml như
yêu cầu