Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mengunggah dokumen word, menyimpannya di mysql dan menampilkannya

Ada beberapa topik yang akan dibahas di sini.

Formulir

Untuk mengupload file, ubah atribut form enctype.

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

Menyimpan file

Anda bisa menyimpan file dalam database, atau hanya sebagai file dalam sistem disk server. Apa pun yang Anda pilih, tidak perlu membagi file ke dalam baris-barisnya. Simpan file sebagai satu kesatuan.

Baca entri ini yang membahas topik.

Cukuplah untuk mengatakan di sini bahwa bidang basis data Anda harus jenis dan ukuran yang sesuai untuk menampung file.

Secara pribadi, saya penggemar menyimpan file di disk, dan nama file di database.

Penanganan unggahan file

Anda dapat menyimpan file di suatu tempat di disk. Ini bukan cara terbaik untuk melakukannya, tetapi yang paling sederhana untuk didemonstrasikan. Ada cukup banyak contoh di SO, misalnya Cara Mengunggah &Menyimpan File dengan Nama yang Diinginkan

 $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);

Mengunduh file Agar file ditampilkan dan diunduh, cukup cetak isinya ke browser.

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

Ini akan menampilkan file dan mungkin membingungkan browser. Untuk memberi tahu browser agar menangani file sebagai dokumen Word, Anda harus mengirim header yang sesuai ke browser sebelum mengirim file.

    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. perbarui jika ada dua bidang, masukkan jika tidak (MySQL)

  2. Tindak lanjut:bagaimana memodelkan diskon pada item dalam database?

  3. MySQL Query untuk mendapatkan usia dari tanggal lahir

  4. Batasi Akses Harian

  5. masukkan array nilai ke dalam database menggunakan kueri SQL?