Code upload file php đơn giản

Code upload file php đơn giản

Như các bạn đã biết thì hầu như một website cơ bản nào cũng đều không thể thiếu chức năng Upload file, nhất là upload file ảnh, file document…v..v… Bài viết này sẽ hướng dẫn chi tiết các bạn code một chức năng Upload File đơn giản và cơ bản nhất có thể. Đương nhiên có cơ bản sẽ có nâng cao rồi.

Kiến thức cần có

Để upload file được thì chúng ta cần phải sử dụng biến $_FILES để nhận dữ liệu file gửi lên từ Server.

Cụ thể biến $_FILES được sử dụng như sau: $_FILES["nameInputFile"]["properties"]

Trong đó:

  • nameInputFile: là tên của input với type file
  • properties: là tên thuộc tính mà PHP cung cấp cho chúng ta bao gồm 5 thuộc tính:
    • name: Tên của file khi upload lên
    • type: Kiểu file khi upload (VD: file ảnh loại .gif, .png, .jpg,…v…v…)
    • tmp_name: Đường dẫn tạm của file khi upload
    • error: Trạng thái lỗi khi upload. 0 là không có lỗi còn các lỗi khác các bạn có thể tham khảo thêm sau nhé
    • size: Dung lượng file khi upload lên được tính bằng đơn vị bytes

Trong bài viết cơ bản này, mình sẽ chỉ cần sử dụng đến các thuộc tính name, tmp_name, error của biến $_FILES là đã có thể làm ra được chức năng upload file đơn giản rồi.

Form chỉ upload từng file 1, ở bài nâng cao sẽ có phương pháp upload nhiều file cùng một lúc, cũng khá đơn giản thôi là chúng ta sẽ sử dụng mảng để có thể tương tác với nhiều file hơn khi upload.

Trên thẻ

mình cần lưu ý những thứ sau:

  • Ở đây mình sử dụng action đến file upload_file.php (code html + php mình để trong 1 file này) để submit form ngay tại trong file upload_file.php hiện tại luôn. Các bạn có thể tạo một file php khác và cho code php vào đấy để submit form lên cũng được.
  • Lưu ý là phải sử dụng methodPOST nhé.
  • Một thứ quan trọng nữa là phải có đoạn này enctype="multipart/form-data"


    

Code xử lý khi upload file

Chú thích:

  1. Sử dụng biến $target_dir = './uploads/' để thiết lập nơi lưu file ở đây mình có một thư mục tên là uploads.
  2. Sử dụng biến $file_name = $_FILES["txtFile"]["name"] để lưu tên của file được chọn trên input file.

 0) { //Check error
                echo 'Sorry, there was an error uploading your file';
            } else {
                //Here code upload file to server
                move_uploaded_file($_FILES["txtFile"]["tmp_name"], $target_dir . $file_name);
                echo "File " . basename($file_name) . " has been uploaded!";
            }
        }
    }
?>

Tổng hợp lại chúng ta đã có được một chức năng upload file đơn giản

Code dưới bao gồm HTML và PHP luôn nhé các bạn. Ở đây mình nhúng bootstrap vào ở múa cho đẹp lên cho dễ nhìn vì vậy các bạn có thể bỏ qua việc nhúng bootstrap nếu cảm thấy không cần thiết.

Trong code dưới mình có comment code để các bạn có thể hình dung code cho dễ hiểu hơn.

Ngoài ra, các bạn có thể nhúng bootstrap vào mà không cần phải download về bằng cách sử dụng CDN nhé. Các bạn lên google search từ khóa cdn bootstrapcopy link cdn đấy đem về và pastse vào là OK.


    
        Upload file đơn giản
        
        
     
    
        
        

Upload file đơn giản - Cơ bản

0) { //Check error echo 'Sorry, there was an error uploading your file'; } else { //Here code upload file to server move_uploaded_file($_FILES["txtFile"]["tmp_name"], $target_dir . $file_name); echo "File " . basename($file_name) . " has been uploaded!"; } } } ?>

Kết luận

Chức năng này khá đơn giản, nó có thể có ích cho những bạn mới học hoặc đang tìm hiểu về chức năng upload file của PHP. Chức năng cần phải bổ sung và đáp ứng các yêu cầu cần thiết khác như: upload file với tên file theo ý muốn của mình như thế nào? loại file cần upload là gì? dung lượng upload tối đa là bao nhiêu? hay là kiểm tra xem file đã tồn tại hay chưa chẳng hạn?…v…v…. Tuy chưa phải là chức năng upload file đầy đủ nhưng bù lại hiện nó khá đơn giản và dễ sử dụng nữa.

Tổng kết lại là ở bài sau chúng ta sẽ tiếp tục nâng cấp chức năng upload này lên một cấp độ nâng cao hơn và đầy đủ chức năng hơn.

Cảm ơn các bạn đã theo dõi bài viết. Để lại bình luận góp ý cho mình nếu có vấn đề về bài viết nhé!

Chứng chỉ được xác thực tên miền (DV SSL) là gì ?

Previous article

Code full chức năng upload file bằng PHP – Nâng cao

Next article