Bài 17: Upload File Trong PHP

Bài trước mình đã giới thiệu với mọi người khá là nhiều hàm xử file trong PHP. Tiếp tục với file trong PHP thì bài này mình sẽ giới hướng dẫn mọi người upload file trong PHP.

Xem Thêm:

1. Chuẩn Bị

Để có thể upload được file thì các bạn chuẩn bị cho mình một form như sau:

<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <title>Upload File- webtmcp.com</title>
   <link rel="stylesheet" href="">
</head>
<body>
   <form action="" method="post" enctype="multipart/form-data">
   <input type="file" name="fileUpload" value="">
   <input type="submit" name="up" value="Upload">
   </form>
</body>
</html>

Lưu ý: Để có thể gửi được dữ liệu dạng file lên trên server thì bạn cần phải sử dụng phương thức POST và có thuộc tính enctype="multipart/form-data" . Trường input type='file' cho phép chúng ta chọn file để upload.

2. Lý Thuyết

Cũng giống như get và post, thì ở đây server nhận dữ liệu file gửi lên bằng biến $_FILES, biến $_FILES này là một mảng 2 chiều có dạng.

$_FILES['nameInputFile']['properties']

Trong đó:

  • nameInputFile: là name của input file mà các bạn đặt ở form.
  • properties: Bao gồm 5 thuộc tính sau đây:
    1. name: Tên của file các bạn vừa upload lên.
    2. type: Kiểu dữ liệu của file
    3. tmp_name: Đường dẫn tạm của file ở trên server.
    4. error: Trạng thái của file. 0 là không có lỗi (xem thêm)
    5. size: Dung lượng của file ở đây đơn vị là bytes.

Và upload hoàn tất thì chúng ta dùng hàm move_uploaded_file() với cú pháp:

move_uploaded_file(filename, destination)

Trong đó:

  • filename: là đường dẫn đến file tạm thời ở trên server
  • destination: là đường dẫn chứa file được lưu trữ.

3. Thực Hành

Ở trên mình đã hướng dẫn phần lý thuyết. Bây giờ chúng ta sẽ thực hành upload file trong php đơn giản với form ở phần 1 nhé.

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Upload File- webtmcp.com</title>
    <link rel="stylesheet" href="">
</head>
<body>
     <form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="fileUpload" value="">
    <input type="submit" name="up" value="Upload">
    </form>
<?php
if (isset($_POST['up']) && isset($_FILES['fileUpload'])) {
    if ($_FILES['fileUpload']['error'] > 0)
        echo "Upload Lỗi!";
    else {
        move_uploaded_file($_FILES['fileUpload']['tmp_name'], 'upload/' . $_FILES['fileUpload']['name']);
        echo "Upload Thành Công <br/>";
        echo 'Đường Dẫn: upload/' . $_FILES['fileUpload']['name'] . '<br>';
        echo 'Loại File: ' . $_FILES['fileUpload']['type'] . '<br>';
        echo 'Dung Lượng: ' . ((int)$_FILES['fileUpload']['size'] / 1024) . 'KB';
    }
}
?>
</body>
</html>

Chú thích: Phần trên mình đã upload file vào thư mục upload và cho hiện ra thông số của file.

4. Bài Tập Tự Luyện

Từ bài thực hành ở phần 3 các bạn hãy ràng buộc thêm về giới hạn dung lượng file và file được up phải là file ảnh(.jpg, .png, .bmp).

5. Tạm Kết

Như vậy qua bài hôm nay mình đã giới thiệu với mọi người về cách upload file trong PHP rồi. Bài tiếp theo chúng ta sẽ tìm hiểu về một số hàm kiểm tra kiểu dữ liệu trong PHP.

5/5 - (1 bình chọn)

Có thể bạn quan tâm

  • lớp, thuộc tính, phương thức

    Bài 03: Lớp – Thuộc Tính – Phương Thức

    Nội Dung Chính1. Chuẩn Bị2. Lý Thuyết3. Thực Hành4. Bài Tập Tự Luyện5. Tạm Kết Ở bài trước các bạn đã biết được định nghĩa lập trình hướng đối tượng nhưng chỉ nói ở múc độ lý thuyết chứ chưa thấy đụng đến code. Mỗi một đối tượng thì sẽ có một hoặc nhiều class, …

  • Tham trị và tham chiếu trong php

    Bài 21: Tham Trị Và Tham Chiếu Trong PHP

    Nội Dung Chính1. Chuẩn Bị2. Lý Thuyết3. Thực Hành4. Bài Tập Tự Luyện5. Tạm Kết Sau khi trải qua 20 bài học PHP cơ bản thì bài này chúng ta sẽ tìm hiểu về tham trị và tham chiếu trong PHP xem nó có gì đặc biệt không nhé. Xem Thêm: WordPress Cơ Bản WordPress …

  • hàm header trong php

    Bài 20: Hàm Header Trong PHP

    Nội Dung Chính1. Chuẩn Bị2. Lý Thuyết3. Thực Hành4. Bài Tập Tự Luyện5. Tạm Kết Hôm nay chúng ta tiếp tục tìm hiểu về một hàm khá quan trọng trong PHP, đó là hàm header.  Hàm này rất hữu hiệu khi bạn muốn thay đổi kiểu dữ liệu trả về, hay điều hướng trang web,.. …

  • hàm xủ ly ngày thang trong php

    Bài 19: Hàm Xử Lý Ngày Tháng Trong PHP

    Nội Dung Chính1. Chuẩn Bị2. Lý Thuyết3. Thực Hành4. Bài Tập Tự Luyện5. Tạm Kết Ở bài trước chúng ta đã tìm hiểu về các hàm xử lý dữ liệu trong PHP rồi, bài này chúng ta tiếp tục với các hàm xử lý ngày tháng trong PHP. Xem Thêm: Bán Đấu Giá Con Chuột Đầu Tiên Trên …

  • các hàm kiểm tra dữ liệu trong php

    Bài 18: Các Hàm Kiểm Tra Dữ Liệu Trong PHP

    Nội Dung Chính1. Chuẩn Bị2. Lý Thuyết3. Thực Hành4. Bài Tập Tự Luyện5. Tạm Kết Trong một dự án chúng ta phải ràng buộc được các thông báo lỗi không nên có ra ngoài màn hình, và hôm nay mình sẽ giới thiệu với mọi người các hàm kiểm tra dữ liệu trong PHP. Xem …

  • các hàm xử lý file trong php

    Bài 16: Các Hàm Xử Lý File Trong PHP

    Nội Dung Chính1. Chuẩn Bị2. Lý Thuyết3. Thực Hành4. Bài Tập Tự Luyện5. Tạm Kết Vấn đề xử lý file trong PHP rất quan trọng trong trường hợp các bạn muốn làm một số chức năng như cache hay log file,…Bài viết hôm nay mình sẽ giới thiệu với mọi người danh sách các hàm …