Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tải lên một tài liệu word, lưu trữ nó trên mysql và hiển thị nó

Có một vài chủ đề sẽ được thảo luận ở đây.

Biểu mẫu

Để tải tệp lên, hãy thay đổi thuộc tính enctype của biểu mẫu.

<form action="insert.php" method="post" enctype="multipart/form-data">
    :
</form>

Lưu trữ tệp

Bạn có thể lưu trữ tệp trong cơ sở dữ liệu hoặc chỉ dưới dạng tệp trong hệ thống đĩa máy chủ. Bất kể bạn chọn gì, không nhất thiết phải chia tệp thành các dòng. Lưu trữ tệp dưới dạng một đơn vị duy nhất.

Đọc mục này thảo luận về chủ đề.

Ở đây chỉ cần nói rằng trường cơ sở dữ liệu của bạn phải là loại và kích thước thích hợp để chứa tệp.

Cá nhân tôi là người thích lưu trữ tệp trên đĩa và tên tệp trên cơ sở dữ liệu.

Xử lý tải lên tệp

Bạn có thể lưu tệp ở đây trên đĩa. Đây không phải là cách tốt nhất để làm điều đó, nhưng là cách đơn giản nhất để giảm tốc độ. Có đủ ví dụ trên SO, ví dụ Cách tải lên và lưu tệp với tên mong muốn

 $info = pathinfo($_FILES['upload']['name']);
 $ext = $info['extension']; // get the extension of the file
 $newname = "newname.".$ext; 

 $target = 'mydocs/'.$newname;
 move_uploaded_file( $_FILES['upload']['tmp_name'], $target);

Tải xuống tệp Để hiển thị và tải xuống tệp, chỉ cần in nội dung ra trình duyệt.

ob_start();
 // do things. See below
ob_clean();
flush();
readfile($file);
ob_flush();

Điều này sẽ hiển thị tệp và có thể gây nhầm lẫn cho trình duyệt. Để yêu cầu trình duyệt xử lý tệp dưới dạng tài liệu Word, bạn phải gửi các tiêu đề thích hợp tới trình duyệt trước khi gửi tệp.

    ob_start();
    if(isset($_REQUEST['dlink']))
    {
        $file = $_REQUEST['dlink'];
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename='.basename($file));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Pragma: public');
        header('Content-Length: ' . filesize($file));
        ob_clean();
        flush();
        readfile($file);
         exit;
    }
ob_flush();



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thiết kế cơ sở dữ liệu quản lý chứng khoán

  2. Cách lưu trữ dữ liệu với số lượng thuộc tính động trong cơ sở dữ liệu

  3. Cách lấy số bit trong chuỗi trong MySQL - BIT_LENGTH ()

  4. Xóa các bản ghi trùng lặp mà không cần tạo bảng tạm thời

  5. ĐẶT HÀNG THEO ngày giờ TRƯỚC NHÓM THEO tên trong mysql