Hướng dẫn upload file php mysql - tải lên tập tin php mysql

Đây là chức năng giúp chúng ta có thể gửi file lên server đó là file ảnh hoặc các loại tập tin.

Cấu hình: Tìm vào file php.ini bật trạng thái upload file: Tìm vào file php.ini bật trạng thái upload file

file_uploads = On

FORM HTML UPLOAD FILE


  
  

Chú ý::

  • Chỉ hỗ trợ form có phương thức truyền dữ liệu POST
  • Khai báo thuộc tính enctype="multipart/form-data" cho From

XỬ LÝ UPLOAD FORM

  • Dữ liệu file upload được đẩy vào mảng hệ thống $_FILES
  • Kiểm tra dữ liệu hợp lệ của file upload: Loại file, dung lượng,...

Hàm hỗ trợ

  • Lấy tên file
  • Lấy đuôi mở rộng file

Bước 1: Tạo đường dẫn chứa file upload: Tạo đường dẫn chứa file upload

Ta có đường dẫn file sau khi upload

Bước 2: Kiểm tra file trước khi upload: Kiểm tra file trước khi upload

  • Kiểm tra đuổi mở rộng[upload ảnh có đuổi png, jpg, jpeg, gif]
  • Kiểm tra kích thước file

Bước 3: Chuyển file từ thư mục tạm lên server: Chuyển file từ thư mục tạm lên server

if [empty[$error]] {
	if [move_uploaded_file[$_FILES["fileUpload"]["tmp_name"], $target_file]] {
		echo "Bạn đã upload file thành công";
		$flag = true;
	} else {
		echo "File bạn vừa upload gặp sự cố";
	}
}

CODE UPLOAD FILE ĐẦY ĐỦ


  
  
0

GHI NHỚ

  • Upload file giúp chuyển một file từ máy tính lên server
  • Quá trình upload file được tiến hành qua 3 bước
  • Trước khi upload file cần kiểm tra file thích hợp với mục đích sử dụng

Url Link

//hocweb123.com/cach-upload-file-len-server-bang-php.html

Đối với dữ liệu của website phần lớn chúng ta đều lưu trữ trong CSDL tuy nhiên cũng có đôi lúc việc lưu trữ dữ liệu với file sẽ thuận tiện hơn rất nhiều do dễ dàng thay đổi chẳng hạn như lưu trữ thông tin truy cập CSDL cho ứng dụng web hoặc lưu trữ thông tin cấu hình email...

Việc nắm vững kiến thức về xử lý file và quyền hạn của file, thư mục [trong Linux] khi học PHP không những giúp bạn dễ dàng lưu trữ thông tin cho website mà còn giúp bạn tăng tính bảo mật cho các file và thư mục quan trọng.

Để biểu diễn cho dấu phân cách trong đường dẫn chúng ta sử dụng dấu \ trên hệ điều hành Windows còn trên Linux chúng ta sử dụng dấu /. Để đơn giản hóa khi biểu diễn ký tự phân cách trong đường dẫn PHP dùng hằng DIRECTORY_SEPARATOR để biểu diễn.

Ví dụ: 


  
  
1

Dưới đây là một số hàm thường sử dụng để xử lý file và thư mục trong PHP

  • is_file[$path]: trả về TRUE nếu $path tồn tại và là một file
  • is_dir[$path]: trả về TRUE nếu $path tồn tại và là một thư mục
  • file_exists[$path]: trả về TRUE nếu $path tồn tại và là một file hoặc thư mục
  • getcwd[]: trả về chuỗi biểu diễn thư mục hiện tại đang làm việc
  • scandir[$path]: trả về một mảng chứa danh sách file và thư mục trong đường dẫn $path nếu $path là tên 1 thư mục tồn tại, nếu không trả về FALSE

Chúng ta xem qua một ví dụ đơn giản liệt kê các file và thư mục hiện hành:


  
  
2

Đọc file

Để đọc file chúng ta sử dụng hàm fread[$file, $length] và để ghi file chúng ta sử dụng hàm fwrite[$file, $data]. 

Ví dụ:


  
  
3

Trong ví dụ trên chúng ta đọc file welcome.txt ở chế độ chỉ đọc [r] và để tránh trường hợp xảy ra lỗi khi không tìm thấy file chúng ta đặt ký tự @ trước hàm fopen[]. Hàm filesize[] sẽ trả về toàn bộ kích thước của file cần đọc. Sau khi đọc xong chúng ta đóng lại file qua hàm fclose[] để xóa bỏ vị trí của con trỏ đang duyệt file.

Ghi file


  
  
4

Trước khi thực hiện thao tác ghi file chúng ta nên kiểm tra file có quyền khi hay không bằng cách sử dụng hàm is_writeable[$filename].

Upload file

Xử lý upload file là công việc mà chúng ta thường xuyên gặp nhất khi làm việc với file và form upload file cũng là nơi để hacker dễ dàng khai thác lỗ hỏng nhằm upload shellscript lên trên webserver. Vì vậy chúng ta cần kiểm tra kỹ định dạng file trước khi di chuyển nó sang thư mục được chỉ định trên website.

Để có thể upload được file chúng ta cần có input field với type="file" và trên form upload chúng ta cần chỉ định thuộc tính enctype="multipart/form-data"


  
  
5

Khi người dùng submit form, file sẽ được upload lên thư mục tạm của webserver và tên của file đã upload cũng là một tên tạm thời do webserver sinh ra, do đó để di chuyển nó đến thư mục được chỉ định trên webserver chúng ta cần sử dụng hàm move_upload_file[$ten_file_tam, $duong_dan_den_thu_muc_moi].

Bài Viết Liên Quan

Chủ Đề