0

SQL Server 2008 を使用して 1 つの php Web サイトを開発しています。

ドキュメントを添付して表示する機能があります。

添付文書をデータベースに保存しています。そのため、私のテーブルフィールドは「画像」です。

これはすべてのドキュメントで正常に機能しています。しかし、.csv ファイルでは機能しません。

私のphp Webページにcsvファイルを表示するのを手伝ってくれる人はいますか?

PHP でドキュメントを表示する私のコードは次のとおりです。

 $filename=$doc["DocumentName"];
    $file= $doc["data"];
    if($doc["OLEClassName"]=="image")
    {
     $im = imagecreatefromstring(base64_decode($file));
        if ($im !== false) {
        header('Content-Type: image/jpeg');
        header("Content-Length: ".strlen($file)); 
        imagejpeg($im);
        //imagedestroy($im);
        }
        else {
            echo 'An error occurred.';
        }
    }
    else if($doc["OLEClassName"]=="txt")
    {
        header('Content-Type: text/plain');
        echo base64_decode($file);
    }
    else if($doc["OLEClassName"]=="P" || $doc["OLEClassName"]=="pdf")
    {
        header('Content-Type: application/pdf');
        echo base64_decode($file);
    }
    else if($doc["OLEClassName"]=="docx")
    {
        header('Content-Type:application/vnd.openxmlformats-officedocument.wordprocessingml.document');
        //header('Content-Type: application/octet-stream');
        echo base64_decode($file);
    }
    else if($doc["OLEClassName"]=="xlsx")
    {
        header('Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        echo base64_decode($file);
    }
    else if($doc["OLEClassName"]=="csv")
    {
        header('Content-Type: text/csv');
        echo base64_decode($file);
    }

このコードは他のドキュメントでは正常に機能しますが、csv ファイルでは機能しません。

誰でも私を助けてくれますか?

4

2 に答える 2

0

可能であれば、いずれかのフォルダーに保存し、そのパスを文字列型フィールドに保存します。

于 2013-03-28T05:21:36.440 に答える
0

header('Content-Type: application/csv');代わりに試してください。

編集ヘッダーにも Content-Disposition を含めると役立つ場合があります。

これは私が過去に使用した例です

header('Content-Disposition: inline; filename= ' . basename($str_filename));
于 2013-03-28T05:21:42.567 に答える