Chủ đề nổi bật

Bài 23: Upload file lên server với php

Ở bài trước chúng ta đã tìm hiểu được khá nhiều hàm xử lý file nhưng tôi không đề cập đến hàm upload file bởi vì tôi muốn nó là một bài thực ...

Ở bài trước chúng ta đã tìm hiểu được khá nhiều hàm xử lý file nhưng tôi không đề cập đến hàm upload file bởi vì tôi muốn nó là một bài thực hành riêng dành cho các bạn. Và trong bài này mình sẽ hướng dẫn các bạn cách upload file bằng PHP bằng cách đơn giản và dễ hiểu nhất.

1. Upload lên Server bằng code PHP

Để upload file lên Server thì ban 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

Bây giờ ta sẽ làm một ví dụ upload file để bạn dễ hiểu hơn nhé.

Bước 1: Bạn tạo file upload.php trong thư mục WWW của Vertrigo Server, sau đó copy nội dung này vào

<!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>

Bạn lưu ý rằng để upload file được thì form phải có thuộc tính enctype=”multipart/form-data” như trong code trên nhé.

Cũng giống như POST và GET, tất cả các file bạn upload lên sẽ được lưu trữ trong một biến cục bộ tên là $_FILES, nên trong đoạn code trên mình có var_dump($_FILES) để xem thông tin file mình upload lên. Bây giờ bạn chạy file này lên, chọn upload một file bất kỳ và nhấn vào button Upload, bạn sẽ thấy 5 thông tin mà tôi đề cập ở trên.

Bước 2: Bạn tạo một folder upload cùng cấp với file upload.php, sau đó sửa lại file upload.php như sau:

<!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 không 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>

Phần comment bên trong code tôi đã giải thích rõ cho các bạn rồi. Riêng hàm move_uploaded_file($client_path, $server_path) sẽ có 2 tham số truyền vào, tham số $client_path là đường dẫn đến file ở client, tham số $server_path là đường dẫn các bạn muốn lưu trên Server (đường dẫn có kèm theo tên file). Nếu bạn muốn kiểm tra định dạng file trước khi upload thì có thể sử dụng thông số type để kiểm tra.

2. Lời kết

BẢNG MÃ KÍCH HOẠT KHÓA HỌC RẤT RẺ

Mình đã sưu tầm các mã giám giá rất rẻ và đăng nó ơ trong bài viết này, bạn hãy vào tham khảo để xem cần kháo nào thì hãy chọn cho riêng mình nhé, Lưu ý la chỉ có tại code24h.com, bạn sẽ không thể tìm thấy ở chỗ khác.

Xem Ngay

Trong bài này tôi chỉ hướng dẫn các bạn upload file với php đơn giản và không có kiểm tra định dang file trước khi upload lên Server, vì vậy nếu bạn muốn kiểm tra định dạng file trước khi upload thì hãy sử dụng các thông số mà mình đề cập ở trên nhé. Bài này rất đơn giản nhưng tôi nghĩ các bạn cũng nên làm theo cho nhuần nhuyễn trước khi đi vào các bài sau. Bài tiếp theo chúng ta tìm hiểu các hàm kiểm tra dữ liệu trong php

BÀI KẾ SAU
BÀI KẾ TIẾP

Nguồn: code24h.com

Bài liên quan
Mới nhất

Danh sách các múi giờ (Timezones) trong PHP

- Múi giờ (timezones) thường được sử dụng trong các hàm xử lý ngày tháng & thời gian. - Dưới đây là danh sách đầy đủ các múi giờ được hỗ trợ trong ngôn ngữ lập trình PHP. 1) Africa Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algiers 2) America ...

Các hàm dùng để quản lý thư mục trong PHP

Hàm Mô tả chức năng chdir() chroot() closedir() dir() getcwd() opendir() readdir() rewinddir() scandir() ...

Danh sách tất cả các hàm xử lý chuỗi trong PHP

Hàm Mô tả chức năng addcslashes() Thêm một dấu gạch chéo ngược () phía trước các ký tự được chỉ định addslashes() Thêm một dấu gạch chéo ngược () phía trước các ký tự là dấu nháy kép, dấu nháy đơn và dấu gạch chéo ngược trong chuỗi bin2hex() Chuyển một chuỗi các ký tự ...

Cách khai báo và sử dụng hàm (function) trong PHP

1) Hàm là gì !? - Hàm là một tập hợp gồm nhiều câu lệnh, các câu lệnh này được sắp xếp theo một thứ tự xác định để xây dựng thành một chức năng cụ thể và mỗi hàm sẽ có một cái tên. Ví dụ Đoạn mã bên dưới, chúng ta có một hàm tên là GioiThieuBanThan. Hàm này gồm ba câu lệnh với ...

Vòng lặp for & foreach trong PHP

1) Vòng lặp là gì !? - Trong PHP, vòng lặp là một loại cú pháp giúp ta lặp lại việc thực thi một đoạn mã nhiều lần. - Ví dụ, nếu tôi muốn hiển thị lên màn hình 100 dòng chữ "Lập Trình Web" thì đáng ra phải gõ 100 câu lệnh echo "<p>Lập Trình Web</p>"; . Tuy nhiên, với việc sử ...

Lệnh điều kiện if ... else trong PHP

"Nếu bạn học tốt môn lập trình web thì bạn sẽ có thể thiết kế được website" - Câu trên được chia làm hai vế: Vế thứ nhất: "Nếu bạn học tốt môn lập trình web" Vế thứ hai: "Bạn sẽ có thể thiết kế được website" - Trong cuộc sống, ta gọi vế thứ nhất là điều kiện, vế thứ hai là một điều ...

Danh sách tất cả các hàm xử lý mảng trong PHP

Hàm Mô tả chức năng array_change_key_case Đổi tên của tất cả các phần tử trong mảng về dạng chữ in hoa hoặc chữ thường array_chunk array_column array_combine array_count_values array_diff array_diff_assoc array_diff_key ...

Danh sách các hàm xử lý tập tin hệ thống trong PHP

Hàm Mô tả chức năng basename() Trả về tên tập tin từ một đường dẫn chgrp() Thay đổi nhóm người dùng của tập tin được chỉ định chmod() Thiết lập quyền hạn của các nhóm người dùng trên tập tin được chỉ định chown() Thay đổi chủ sở hữu của một tập tin copy() Sao ...

Danh sách tất cả các hàm xử lý ngày tháng trong PHP

Hàm Mô tả chức năng checkdate Kiểm tra xem một ngày được xác định có hợp lệ hay không date date_add date_create date_create_from_format data_create_immutable data_create_immutable_from_format date_date_set date_default_timezone_get ...

Vòng lặp while & do while trong PHP

1) Vòng lặp while trong PHP - Trước khi nêu khái niệm "vòng lặp while là gì?" thì tôi có một ví dụ để giúp bạn có thể hình dung sơ qua về vòng lặp while. - Bạn đưa ra một điều kiện, nếu điều kiện đó là sai thì kết thúc, còn nếu đúng thì một đoạn mã sẽ được thực thi và bạn tiếp tục quay ...