Upload file trong PHP

Hướng dẫn Upload file trong PHP sử dụng thuộc tính enctype="multipart/form-data" và phương thức POST.

Để upload file lên Server thì ta phải sử dụng form có thuộc tính enctype="multipart/form-data" và phương thức POST, thẻ input sẽ có type="file".

Khi bạn upload một file lên thì trên Server sẽ nhận được 5 thông số cho một file, và PHP sẽ dựa vào các thông số đó để tiến hành upload, các thông số đó là:

  • name: Tên của file bạn upload
  • type: Kiểu file mà bạn upload (hình ảnh, word, …)
  • tmp_name: Đường dẫn đến file upload ở client
  • error: Trạng thái của file bạn upload, 0 => không có lỗi
  • size: Kích thước của file bạn upload

VD

Bước 1: Tạo file Uploade.php

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <form method="post" action="" enctype="multipart/form-data">
            <input type="file" name="avatar"/>
            <input type="submit" name="uploadclick" value="Upload"/>
        </form>
        <?php
            // Xử Lý Upload
            var_dump($_FILES);
        ?>
    </body>
</html>

* lưu ý rằng để upload file được thì form phải có thuộc tính enctype=”multipart/form-data” . Thuộc tính enctype=”multipart/form-data” ở trong thẻ <form mục đích của thuộc tính này để trình duyệt có thể hiểu và mã hóa dữ liệu thành nhiều phần.

* Thẻ input có thuộc tính type = file để hiển thị một giao diện có nút chọn tập tin ở máy tính của người dùng

 

Thông thường các file bạn upload lên sẽ được lưu trữ trong một biến global tên là $_FILES, nên đoạn  code ( var_dump($_FILES); ) để hiển thị 5 thông số trên khi thực hiện upload 1 file bất kỳ.

Bước 2: Xử lý:

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
<body>
    <form method="post" action="" enctype="multipart/form-data">
        <input type="file" name="avatar"/>
        <input type="submit" name="uploadclick" value="Upload"/>
    </form>
    <?php // Xử Lý Upload
  
    // Nếu người dùng click Upload
    if (isset($_POST['uploadclick']))
    {
        // Nếu người dùng có chọn file để upload
        if (isset($_FILES['avatar']))
        {
            // Nếu file upload bị lỗi,
            // Tức là thuộc tính error > 0
            if ($_FILES['avatar']['error'] > 0)
            {
                echo 'File Upload Bị Lỗi';
            }
            else{
                // Upload file
                move_uploaded_file($_FILES['avatar']['tmp_name'], './folder/'.$_FILES['avatar']['name']);
                echo 'File Uploaded';
            }
        }
        else{
            echo 'Bạn chưa chọn file upload';
        }
    }
?>
</body>
</html>

 

Bài liên quan

Bài 16: Upload file trong PHP

Để có thể upload được một file hoặc nhiều file chúng ta cần có: Form phải chỉ định thuộc tính enctype="multipart/form-data" Thẻ Input field có thuộc tính type="file" Để có thể upload được nhiều file bạn có thể thiết lập thêm thuộc tính multiple="multiple" ...

Trần Trung Dũng viết 16:32 ngày 01/10/2018

Upload file trong PHP

Hướng dẫn Upload file trong PHP sử dụng thuộc tính enctype="multipart/form-data" và phương thức POST.

Nguyễn Huân viết 08:32 ngày 29/09/2018

Xóa file trong PHP

PHP Trong PHP, chúng ta có thể xóa bất kỳ file nào bằng cách sử dụng hàm unlink (). Hàm unlink() trong PHP chỉ chấp nhận một đối số: filename. Nó tương tự như hàm unlink() trong Unix. PHP unlink() tạo ra lỗi mức E_WARNING nếu tệp không bị xóa. Nó trả về TRUE nếu tập tin bị xóa ...

Trần Trung Dũng viết 22:07 ngày 02/09/2018

Xử lý file trong PHP

PHP Phần này hướng dẫn bạn xử lý file trong PHP, PHP cho phép chúng ta tạo file, đọc từng dòng của file, đọc file theo ký tự, ghi file, nối thêm nội dung vào file, xóa file và đóng file. Mở file – hàm PHP fopen() Hàm PHP fopen() được sử dụng để mở một file. Cú pháp: ...

Tạ Quốc Bảo viết 22:49 ngày 01/09/2018

Upload File trong JSP

Một JSP có thể được sử dụng với một thẻ HTML form để cho phép người dùng upload các file tới Server. Một file được tải lên có thể là file dạng text, nhị phân hoặc hình ảnh hoặc bất kỳ tài liệu nào khác. Tạo một File Upload Form trong JSP HTML code sau tạo một Upload Form. Sau đây là những ...

Hoàng Hải Đăng viết 10:53 ngày 14/08/2018
0