Hướng dẫn tmp_name trong php

Tính năng tải lên file PHP cho phép bạn tải lên cả file nhị phân và file văn bản. Hơn nữa, bạn có thể có toàn quyền kiểm soát file được tải lên thông qua xác thực PHP và các hàm vận hành file.

Nội dung chính

1. PHP $ _FILES

$ _FILES toàn cầu của PHP chứa tất cả thông tin của file. Với sự trợ giúp của $ _FILES toàn cầu, chúng ta có thể lấy tên file, loại file, kích thước file, tên file tạm thời và các lỗi liên quan đến file.

Ở đây, chúng ta giả sử rằng tên file là tên file .

$ _FILES [‘tên file’] [‘tên’]

trả về tên file.

$ _FILES [‘tên file’] [‘loại’]

trả về kiểu MIME của file.

$ _FILES [‘tên file’] [‘kích thước’]

trả về kích thước của file (tính bằng byte).

$ _FILES [‘tên file’] [‘tmp_name’]

trả về tên file tạm thời của file đã được lưu trữ trên máy chủ.

$ _FILES [‘tên file’] [‘lỗi’]

trả về mã lỗi được liên kết với file này.

2. hàm move_uploaded_file ()

Hàm move_uploaded_file () di chuyển file đã tải lên đến vị trí mới. Hàm move_uploaded_file () kiểm tra nội bộ xem file có được tải lên triệt để yêu cầu POST hay không. Nó di chuyển file nếu nó được tải lên thông qua yêu cầu POST.

Cú pháp

bool move_uploaded_file ( string $filename , string $destination )  

3. Ví dụ về tải lên file PHP

file: uploadform.html

Select File:

file: uploader.php

  

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Tài liệu từ cafedev:

  • Full series tự học PHP từ cơ bản tới nâng cao tại đây nha.
  • Ebook về PHP tại đây.
  • Các nguồn kiến thức MIỄN PHÍ VÔ GIÁ từ cafedev tại đây

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Tải hình ảnh lên máy chủ web là một chức năng phổ biến trong phát triển web, trong hướng dẫn này, chúng tôi sẽ giới thiệu cách tải hình ảnh lên bằng PHP.

Bạn có thể học cách sử dụng PHP để tải hình ảnh lên máy chủ.

Tạo biểu mẫu để tải lên hình ảnh

Chúng ta sẽ sử dụng hình thức html để tải lên hình ảnh. Để gửi dữ liệu hình ảnh, chúng ta nên đặt method = "post"enctype = "multipart/form-data".


    
        
    
    
    
        

Tải lên tệp

Lưu ý: Chỉ cho phép các định dạng .jpg, .jpeg, .gif, .png với kích thước tối đa là 5 MB.


Bạn không thể sử dụng phương thức get để tải hình ảnh lên, vì phương thức http get chỉ có thể gửi một lượng nhỏ dữ liệu.

Hướng dẫn tmp_name trong php

Đoạn mã này sẽ gửi dữ liệu hình ảnh đến upload.php , upload.php sẽ nhận dữ liệu hình ảnh và lưu vào máy chủ web.

Làm thế nào để nhận dữ liệu hình ảnh và lưu hình ảnh trong upload.php?

upload.php sẽ sử dụng $ _FILES để nhận dữ liệu hình ảnh và các thông tin hình ảnh khác, chẳng hạn như kích thước hình ảnh, loại hình ảnh và tên hình ảnh.

upload.php đã nhận được dữ liệu hình ảnh, nó sẽ lưu hình ảnh đã tải lên này vào một đường dẫn tạm thời, chúng ta sẽ sử dụng move_uploaded_fil () để di chuyển tệp tạm thời này đến thư mục đích của chúng ta.

Đảm bảo rằng tệp được tải lên là hình ảnh

Để tải lên hình ảnh, chúng ta nên đảm bảo rằng tệp tải lên là một hình ảnh, chúng ta nên kiểm tra tên tệp hoặc loại mime của tệp.

        $allowed = array("jpg" => "image/jpg", "jpeg" => "image/jpeg", "gif" => "image/gif", "png" => "image/png");
        $filename = $_FILES["photo"]["name"];
        $filetype = $_FILES["photo"]["type"];
        $filesize = $_FILES["photo"]["size"];
    
        // Xác minh phần mở rộng tệp
        $ext = pathinfo($filename, PATHINFO_EXTENSION);
        if(!array_key_exists($ext, $allowed)) die("Lỗi: Vui lòng chọn định dạng tệp hợp lệ.");

Đảm bảo kích thước tệp hợp lệ

Chúng tôi nên giới hạn kích thước tối đa của hình ảnh, điều này rất hữu ích cho máy chủ web của bạn.

         $maxsize = 5 * 1024 * 1024;
        if($filesize > $maxsize) die("Lỗi: Kích thước tệp lớn hơn giới hạn cho phép.");

Lưu hình ảnh đã tải lên

Trong ví dụ này, chúng tôi sẽ tải hình ảnh lên thư mục tải lên , chúng tôi có thể move_uploaded_file() để lưu các tệp đã tải lên.