Mysql
 sql >> база данни >  >> RDS >> Mysql

Качване на word документ, съхраняване в mysql и показване

Има няколко теми за обсъждане тук.

Формулярът

За да качите файла, променете атрибута enctype на формуляра.

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

Файлът се съхранява

Можете да съхранявате файла в база данни или просто като файл в дисковата система на сървъра. Каквото и да изберете, не е необходимо да разделяте файла на редове. Съхранявайте файла като единична единица.

Прочетете този запис, който обсъжда темата.

Тук трябва да е достатъчно да се каже, че полето на вашата база данни трябва да бъде с подходящ тип и размер, за да съхранява файла.

Лично аз съм фен на съхраняването на файла на диск и името на файла в базата данни.

Обработка на качване на файлове

Можете да запишете файла някъде на диск. Това не е най-добрият начин да го направите, но най-простият за демонстрация. Има достатъчно примери за SO, например Как да качвате и запазвате файлове с желано име

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

Изтегляне на файла За да се покаже и изтегли файлът, просто отпечатайте съдържанието в браузъра.

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

Това ще покаже файла и вероятно ще обърка браузъра. За да кажете на браузъра да обработва файла като документ на Word, трябва да изпратите съответните заглавки на браузъра, преди да изпратите файла.

    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. Импортиране на данни от excel в mysql база данни

  2. Промяна на генерираното име на външен ключ в Hibernate

  3. Разлика между SELECT INTO и INSERT INTO в MySQL

  4. Свържете се с MySQL директно от приложение за iPad (не чрез PHP и т.н.)

  5. Търсене на думи със скраб с заместващи знаци