sql >> データベース >  >> RDS >> Mysql

PHPのMySQLデータベースからblobベースのファイルをダウンロードする方法は?

    これは、blobファイルの処理中に直面する最も一般的な問題です。あなたの例から、ファイルの拡張子として「fileType」を保存していることがわかります(つまり、画像の場合は「jpg」、PDFファイルの場合は「pdf」など)。アップロードしています。ただし、その代わりに、ファイルタイプをMIMEコンテンツタイプとして保存できます。

    jpeg画像をアップロードするとします-MIMEタイプは「fileType」に「image/jpeg」として保存されます。同様に、pdfの場合は「application/pdf」として保存されます。データベースからblobファイルをダウンロードするために、このようなコードを設計しました。作成したデータベーステーブルにファイルがすでにアップロードされていると仮定します。

    データベーステーブルの「アップロード」

    | fileID | fileName | fileType | fileSize | fileData | userID |

    download.php

    <?php
    $connection =  mysqli_connect("localhost","root"," ",your_database)
                   or die('Database Connection Failed');
    mysqli_set_charset($connection,'utf-8');
    
    $id = 1;
    
    // Use a prepared statement in production to avoid SQL injection;
    // we can get away with this here because we're the only ones who
    // are going to use this script.
    $query = "SELECT * " ."FROM uploads WHERE userID = '$id'";
    $result = mysqli_query($connection,$query) 
           or die('Error, query failed');
    list($id, $file, $type, $size,$content) = mysqli_fetch_array($result);
    header("Content-length: $size");
    header("Content-type: $type");
    header("Content-Disposition: attachment; filename=$file");
    ob_clean();
    flush();
    echo $content;
    mysqli_close($connection);
    exit;
    
    ?>
    

    blob-uploadの完全なコードはここ にあります。 。



    1. データベース(SQL Serverなど)にトランザクションをコミットしないとどうなりますか?

    2. Accessでデータベースドキュメンテーションを使用する方法

    3. PHP PDO(FreeTDS)でのみ最初の255文字を返すMSSQLServerでのODBCクエリ

    4. MySQLAmazonRDSのバックアップ