Nhấp để tải xuống php

Chúng ta đã biết về Upload file trong PHP, vậy trong quá trình sử dụng, người dùng muốn thao tác download file thì phải làm sao? . Cùng theo dõi nhé

lục mục lục

1. Tải xuống tệp trong PHP

2. Chức năng Tải xuống tệp sử dụng PHP

Nhấp để tải xuống php

1. Tải xuống tệp trong PHP

Thông thường, bạn không nhất thiết phải sử dụng bất kỳ ngôn ngữ nào như PHP để tải xuống hình ảnh, tệp zip, tài liệu pdf, tệp exe, v. v…

Nếu loại tệp đó được lưu trữ trong một thư mục có thể truy cập công khai, bạn chỉ cần tạo một đường liên kết con trỏ đến tệp đó và bất cứ khi nào người dùng nhấp vào liên kết, trình duyệt sẽ tự động tải tệp đó xuống

Ví dụ

Download Zip file
Download PDF file
Download Image file
Download EXE file

Nhấp vào đường liên kết trỏ đến tệp PDF hoặc tệp Hình ảnh sẽ không tải tệp xuống máy tính

Nó sẽ chỉ mở tệp trong trình duyệt. Sau đó bạn có thể lưu nó. Tuy nhiên, các tệp zip và exe thì tự động tải xuống

2. Chức năng Tải xuống tệp sử dụng PHP

Bạn có thể bắt buộc cấu hình ảnh hoặc loại tệp khác tải trực tiếp xuống máy tính của người dùng bằng Hàm readfile() của PHP

Ở đây chúng ta sẽ tạo một bộ sưu tập ảnh đơn giản cho phép người dùng tải xuống các tệp ảnh từ trình duyệt chỉ bằng một cú nhấp chuột

Vui lòng tạo một tệp có tên là 'image-gallery'. php’ and set after code in it





Simple Image Gallery



    ';
            echo '';
            echo '

Download

'; echo ''; } ?>

Nếu bạn xem mã ví dụ một cách cẩn thận, bạn sẽ thấy liên kết tải xuống dẫn đến tệp 'tải xuống. php’, URL cũng chứa tên tệp hình ảnh dưới dạng chuỗi truy vấn

Ngoài ra, chúng ta đã sử dụng hàm urlencode() của PHP để mã hóa tên tệp hình ảnh để nó có thể được truyền dưới dạng URL tham số toàn phần, bởi vì tên tệp có thể chứa các ký tự không an toàn

Đây là mã hoàn chỉnh của tệp 'tải xuống. php‘ để bắt buộc tải xuống hình ảnh

Trên đây là bài viết của eLib. VN về download file trong PHP. Bạn cũng có thể buộc phải tải xuống các định dạng tệp khác như tệp doc, tệp pdf, v. v. hy vọng bài viết hữu ích cho những bạn đang nghiên cứu về lập trình PHP, chúc các bạn thành công

Chủ đề này có lẽ cũng rất nhiều bạn chưa biết và muốn tìm hiểu nó để áp dụng vào project của mình, nên khuya khuya ngồi buồn nhớ vợ nhớ con nên mình làm tuts cho đời tươi đẹp hơn

Nhấp để tải xuống php

Nhấp để tải xuống php

Bài viết này đã được đăng tại freetuts. net , không được sao chép dưới mọi hình thức.

Cũng như thường lệ, trước tiên mình xin giới thiệu một vài kỹ thuật mình có sử dụng liên quan trong tut này

  • Trong bài mình có sử dụng một số hàm xử lý file dùng để kiểm tra sự tồn tại của file
  • Áp dụng Phiên trong php để xử lý tệp đăng nhập mới được tải xuống
  • Áp dụng tiêu đề để xử lý tệp đọc và trả tệp tải xuống cho người dùng

Trong bài mình không áp dụng kết nối cơ sở dữ liệu, nhưng ở từng dòng lệnh comment mình có hướng dẫn các bạn kết nối cơ sở dữ liệu và đăng nhập. Tại vì mình không muốn nâng niu với SQL, như vậy sẽ rút gọn được tut của chúng ta

1. Xây dựng thư viện xử lý người dùng để kiểm tra tải xuống

Bạn đã tạo người dùng tệp. php with the content as after

Bài viết này đã được đăng tại [free tuts. mạng lưới]

 

// Mở Session
session_start();

class User 
{
    var $token_login = 'islogintomycode';
    
    // Thiết lập login
    function set_logged($username)
    {
        $_SESSION[$this->token_login] = array(
            'username' => $username
        );
    }
    
    function set_not_logged(){
        if (isset($_SESSION[$this->token_login])) {
            unset($_SESSION[$this->token_login]);
        }
    }
    
    // Lấy thông tin người dùng đã login
    function get_user_info($key){
        if (!empty($_SESSION[$this->token_login]) && isset($_SESSION[$this->token_login][$key])){
            return $_SESSION[$this->token_login][$key];
        }
        return false;
    }
    
    // Kiểm tra đã loggin chưa
    function is_logged(){
        return !empty($_SESSION[$this->token_login]);
    }
}

// Khởi tạo đối tượng user
$user = new User();

Lưu ý. Trong tệp này, tôi đã khởi tạo một đối tượng





Simple Image Gallery



    ';
            echo '';
            echo '

Download

'; echo ''; } ?>
3 có mục đích sẵn sàng để các tệp khác yêu cầu sử dụng nó luôn

 

2. Tạo tệp hiển thị danh sách tệp để tải xuống

Bạn đã tạo chỉ mục tệp. php with the content as after

 



    
        
        
         
    
    
        
        is_logged()){ ?>
        Đăng Xuất
        
        Đăng Nhập
        
        
        
        
        
    

Trong tệp này ở trên cùng tôi có





Simple Image Gallery



    ';
            echo '';
            echo '

Download

'; echo ''; } ?>
4mục đích lấy đối tượng người dùng để kiểm tra đăng nhập hay chưa

 

Đoạn mã dưới đây tôi kiểm tra nếu đăng nhập rồi thì hiển thị nút đăng xuất, còn chưa đăng nhập thì hiển thị nút đăng nhập

 

       is_logged()){ ?>
        Đăng Xuất
        
        Đăng Nhập
        

Và đoạn mã xử lý đăng nhập rồi mới được tải xuống bằng javascript dưới đây thì tôi đã nhận xét rất rõ ràng rồi. Chỉ có một chú thích là tôi đã khởi tạo một biến is_logged và giá trị của nó mà tôi sử dụng mã PHP để gán

 

 

// Biến javascript dùng để kiểm tra đã login hay chưa
            var is_logged = is_logged()) ? 'true' : 'false'; ?>;
            
            // Khi click vào các thẻ download
            $('div a').click(function()
            {
                // Nếu như chưa login thì thông báo và chuyển hướng sang trang login
                // trong này tôi có để một tham số trên url là redirect, tham số này
                // sẽ được xử lý ở trang login, nghĩa là sau khi login sẽ redirect về 
                // cái trang nằm trong redirect
                if (!is_logged){
                    if (confirm('Bạn chưa đăng nhập, vui lòng đăng nhập rồi download')){
                        window.location = 'login.php?redirect=index.php';
                    }
                    
                    // Và return false không cho download
                    return false;
                }
                
                // Nếu login rồi thì return true cho phép download
                return true;
            });

 

Bây giờ ta sẽ xử lý việc đăng nhập và đăng xuất nhé

3. Tạo tệp đăng xuất

Nếu người dùng nhấp vào nút đăng xuất thì chúng tôi sẽ xóa phiên đăng nhập, vì vậy người dùng sẽ không tải xuống được nữa. Bạn đã tạo tệp đăng xuất với nội dung như sau

 

set_not_logged();

header('Location:index.php');

?>

 

4. Create file login

Bạn đã tạo tệp đăng nhập. php with after content

 

________số 8

Cũng như thường lệ, tôi có yêu cầu người dùng tệp. php để xử lý đăng nhập. Trong này tôi kiểm tra user = admin và password = 123 thì sẽ trả về kết quả là đúng. Nếu bạn muốn kết nối CSDL đã đăng nhập thì sẽ xử lý đoạn code php ở file này nhé

 

 

set_logged($username);

        // Lấy path  và redirect
        $redirect = isset($_GET['redirect']) ? $_GET['redirect'] : 'index.php';
        header('Location:'.$redirect);
        exit();
    }
}
?>


    
        
        
    
    
        
Username:
Password:

 

5. Tạo tệp xử lý tải xuống

You to note at file index. php with per tag a my cursor href about file download. php và có gán một tham số path=something  (



    
        
        
         
    
    
        
        is_logged()){ ?>
        Đăng Xuất
        
        Đăng Nhập
        
        
        
        
        
    
0). Vì vậy, mục đích tôi muốn khi nhấp vào sẽ chuyển hướng sang tệp tải xuống. php and side page download. php tôi sẽ sử dụng tham số đường dẫn đó để xác định tệp muốn tải xuống bất kỳ

Vì vậy bạn đã tạo tệp tải xuống. php and copy this content to

 





Simple Image Gallery



    ';
            echo '';
            echo '

Download

'; echo ''; } ?>
1

Lưu ý. Trong tệp này, tôi có định nghĩa một hằng số



    
        
        
         
    
    
        
        is_logged()){ ?>
        Đăng Xuất
        
        Đăng Nhập
        
        
        
        
        
    
1dùng để khai báo đến thư mục tải xuống

 

6. Bảo mật các tệp tải xuống không cho người dùng truy cập vào

Mục đích của ta là không cho người dùng truy cập trực tiếp vào tệp để tải về, vì vậy ta phải sư dụng tệp. htaccess để bảo vệ thư mục đó

Bạn đã tạo thư mục tài nguyên cùng cấp với các tệp trên tệp và tạo tệp. htaccess nằm trong thư mục tài nguyên với nội dung là "từ chối tất cả"

Như vậy cấu trúc thư mục của chúng ta như sau

Nhấp để tải xuống php

7. Lời kết

Mình rất muốn chia sẻ sẽ nhiều thứ hơn nhưng thật sự chia sẻ sẽ bằng lời văn thì hơi khó trình bày, mong các bạn thông cảm nhé