1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu kỹ thuật upload file trong PHP

148 904 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 148
Dung lượng 11,18 MB

Nội dung

Nội dung trình bày Tìm hiểu kỹ thuật upload file trong PHP và webserver Apache. Tìm hiểu phương pháp giải quyết việc tên file trùng nhau. Tìm hiểu các hàm quản lý file và thư mục trên server. Tìm hiểu các hàm nén file

Nguyễn Hữu Đại La Tấn Đức Nguyễn Ái Quang Huy Phạm Hồng Nhật Nguyễn Quang Tâm - 06HC026 06HC032 06HC065 06HC122 06HC150 Phần nội dung Tìm hiểu kỹ thuật upload file PHP webserver Apache  Tìm hiểu phương pháp giải việc tên file trùng  Tìm hiểu hàm quản lý file thư mục server  Tìm hiểu hàm nén file  Phần tập Tìm hiểu trang web Image Gallery Trình bày cách tổ chức file cách cài đặt trang web  Xây dựng trang web quản lý file: cho phép upload, edit, copy, move, delete file hay folder server  Nội dung: - Kỷ thuật upload file PHP webServer Apache Trình bày: Nguyễn Hữu Đại – 06HC026 Nguyễn Hữu Đại- 06HC026 Các nhà phát triển web cho phép users upload file họ để chia sẻ cho bạn bè, người thân  Các ứng dụng Photo Galaries cho phép upload alum hình ảnh  Các mạng xã hội có chức upload chia sẻ videos  Nguyễn Hữu Đại- 06HC026 move_uploaded_file($_FILE['file_uploa d']['tmp_name'],"destination")  Giá trị trả : TRUE thành công  Giá trị trả : FALSE thất bại Nguyễn Hữu Đại- 06HC026 Sử dựng biến tồn cục $_FILE để xác định thuộc tính file  $_FILE['file_upload']['name'] : Tên file (file_upload) upload lên server  - $_FILE['file_upload']['size'] : Kích thước file  - $_FILE['file_upload']['type'] : Kiểu file  Nguyễn Hữu Đại- 06HC026  - $_FILE['file_upload']['tmp_name'] : Tên thư mục tạm server để chứa file  - $_FILE['file_upload']['error'] : Thông báo lỗi upload file Constant Name Value Explain UPLOAD_ERR_OK Thành cơng UPLOAD_ERR_INI_SIZE Kích thước file vượt mức cấu hình file php.ini UPLOAD_ERR_FORM_SIZE Kích thước file vượt Max_Size thiết lập hidden fiel UPLOAD_ERR_PARTIAL File upload phần UPLOAD_ERR_NO_FILE Không thành công Nguyễn Hữu Đại- 06HC026 Nguyễn Hữu Đại- 06HC026 - Hàm move_uploaded_file() dùng để di chuyển tập tin tạm thời đến vị trí thường trú nó(trong thư mục uploads )với tên mới.Nếu khơng di chuyển tập tin mẫu tin khỏi csdl in thông báo lỗi:”Không thể di chuyển tập tin” - Khi đưa đoạn mã vào hoạt động ,nên làm ẩn thông báo lỗi cách đặt dấu @ trước hàm move_uploaded_file() La Tấn Đức – 06HC032 5.Code trang view_files.php : $page_title = 'Xem tap tin'; include_once ('includes/header.html'); require_once ('lib/mysql_connect.php'); $first = TRUE; Biến $first dùng đoạn mã view_files.php để tạp phần đậu trang cho biết xem tập tin hay khơng La Tấn Đức – 06HC032 ▪ Lấy toàn tập tin từ csdl: $query = "SELECT upload_id, file_name, ROUND(file_size/1024) AS fs,description, DATE_FORMAT(upload_date,'%M %e, %Y') AS d FROM uploads ORDER BY upload_date DESC"; $result = mysql_query ($query); La Tấn Đức – 06HC032 Câu truy vấn lấy trường upload_id , file_name, description ngày định dạng cho tập tin tải lên.Tập tin tải lên liệt kê đầu tiên.Đồng thời câu truy vấn trả kích thước tập tin tính theo kilobyte cách chia kích thước tập tin lưu trữ cho 1024 sau làm tròn La Tấn Đức – 06HC032 ▪ Hiển thị mẫu tin: while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) { if($first) { echo ' Ten tap tin Mo ta Kich thuoc Ngay tai len'; } La Tấn Đức – 06HC032 echo " {$row['file_name']} ".stripslashes($row['description'])." {$row['fs']}kb {$row['d']} \n"; $first = FALSE;} La Tấn Đức – 06HC032 Câu truy vấn lấy trường upload_id , file_name, description ngày định dạng cho tập tin tải lên.Tập tin tải lên liệt kê đầu tiên.Đồng thời câu truy vấn trả kích thước tập tin tính theo kilobyte cách chia kích thước tập tin lưu trữ cho 1024 sau làm trịn La Tấn Đức – 06HC032 6.Code trang download_file.php : ▪ Kiểm tra trường upload_id: if (is_numeric ($_GET['uid'] )) Trước tiếp tục thực cần phải kiểm tra xem đoạn mã nhận giá trị upload_id hợp lệ không? La Tấn Đức – 06HC032 ▪Lấy thông tin cho tập tin ứng với giá trị upload_id: require_once ('./lib/mysql_connect.php'); $query = "SELECT file_name, file_type, file_size FROM uploads WHERE upload_id = {$_GET['uid']}"; $result = mysql_query ($query); list($fn,$ft,$fs) = mysql_fetch_array($result, MYSQL_NUM); mysql_close(); La Tấn Đức – 06HC032 Để tải tập tin, cần phải biết tên,kiểu kích thước tập tin.Lấy tồn thông tin từ csdl cách dùng $_GET['uid'] câu truy vấn sau sùng hàm list() La Tấn Đức – 06HC032 ▪ Kiểm tra tồn tập tin máy chủ: if (file_exists ($the_file)) Trước gửi tập tin đến trình duyệt web, cần kiểm tra tồn nó.Hàm file_exits() trả lại giá TRUE tập tin có máy chủ La Tấn Đức – 06HC032 ▪ Gửi tập tin: header ("Content-Type: application/$ft"); header ("Content-disposition: attachment; filename=$fn"); header ("Content-Length: $fs"); readfile ($the_file); $message = '

Tap tin da duoc gui di.

'; La Tấn Đức – 06HC032 Đoạn mã gửi liệu tập tin đến trình duyệt web tạo hộp nhắc tải xuống La Tấn Đức – 06HC032 - header ("Content-Type: application/$ft"):dịng lệnh chuẩn bị cho trình duyệt web tiếp nhận tập tin, dựa kiểu MIME(lưu csdl tập tin tải lên) - header ("Content-disposition: attachment; filename=$fn“): Thiết lập tên tập tin tải xuống, sử dụng tên tập tin gốc máy tính người sử dụng - header ("Content-Length: $fs"): Cho biết kích thước liệu gửi(được xác định tập tin tải lên) - readfile ($the_file):Hàm đọc vào tập tin gửi nội dung đến trình duyệt La Tấn Đức – 06HC032 ... dung Tìm hiểu kỹ thuật upload file PHP webserver Apache  Tìm hiểu phương pháp giải việc tên file trùng  Tìm hiểu hàm quản lý file thư mục server  Tìm hiểu hàm nén file  Phần tập Tìm hiểu. .. thuộc tính file  $ _FILE[ ''file _upload'' ][''name''] : Tên file (file _upload) upload lên server  - $ _FILE[ ''file _upload'' ][''size''] : Kích thước file  - $ _FILE[ ''file _upload'' ][''type''] : Kiểu file ... $ _FILE[ ''file _upload'' ][''tmp_name''] : Tên thư mục tạm server để chứa file  - $ _FILE[ ''file _upload'' ][''error''] : Thông báo lỗi upload file Constant Name Value Explain UPLOAD_ ERR_OK Thành cơng UPLOAD_ ERR_INI_SIZE

Ngày đăng: 28/07/2014, 11:02

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w