sql >> Databáze >  >> RDS >> Mysql

Nahrání wordového dokumentu, jeho uložení na mysql a jeho zobrazení

Zde je několik témat, která je třeba prodiskutovat.

Formulář

Chcete-li soubor nahrát, změňte atribut enctype formuláře.

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

Ukládání souboru

Soubor můžete uložit do databáze nebo jen jako soubor na diskový systém serveru. Ať už zvolíte cokoli, není nutné rozdělovat soubor na řádky. Uložte soubor jako jednu jednotku.

Přečtěte si tento záznam, který pojednává o daném tématu.

Zde by mělo stačit říci, že vaše databázové pole by mělo mít vhodný typ a velikost pro uložení souboru.

Osobně jsem fanouškem ukládání souboru na disk a názvu souboru v databázi.

Zpracování nahrávání souborů

Soubor můžete uložit někam na disk. Není to nejlepší způsob, jak to udělat, ale nejjednodušší to předvést. Na SO je dost příkladů, například Jak nahrát a uložit soubory s požadovaným názvem

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

Stahování souboru Chcete-li soubor zobrazit a stáhnout, pouze vytiskněte obsah do prohlížeče.

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

Tím se soubor zobrazí a pravděpodobně zmate prohlížeč. Chcete-li prohlížeči sdělit, aby se souborem nakládal jako s dokumentem aplikace Word, musíte před odesláním souboru odeslat do prohlížeče příslušná záhlaví.

    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. Je možné vytvořit typy objektů databáze Oracle uvnitř PL/SQL?

  2. Jaký je rozdíl mezi USER() a SYS_CONTEXT('USERENV','CURRENT_USER')?

  3. Funkce rozdělení v SQL Server 2008

  4. Zlepšete ladění výkonu SQL Server pomocí těchto 3 tipů