簡體   English   中英

如何在php中從db打開文件

[英]How to open a file from db in php

我創建了一個個人資料頁面來查看會員信息的信息,其中之一是他/她的簡歷。 我可以管理具有打開或下載選項的窗口,但是有兩個問題:

1-在Chrome打開選項中不會出現我只有下載選項。

2-我無法在chrome和Firefox中打開或下載cv,文件名與服務器名稱一起顯示在打開或保存窗口中。

這是我的代碼:PHP:

if(isset($_GET['cv'])) 
 {
   $id = $_GET['cv'];

   $query = "SELECT `fileName`, `fileType`, `fileSize`, `fileContent` FROM `boardteam` WHERE `nationalID` = '$id'";

    $r = mysql_query($query) or die('Error, query failed');

    list($fname, $ftype, $fsize, $fcontent) = mysql_fetch_array($r);
    header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
    header("Content-Disposition: attachment; filename=$fname");
    header('Content-Length: ' . filesize($fsize));
    ob_clean();
    flush(); 
    readfile($fname);
    exit;
}

HTML:

<a href='browseMember.php?cv=<?php echo $member_id?>'>
<?php 
     $q = "SELECT `fileName`, `fileType`, `fileSize`, `fileContent` FROM `boardteam` WHERE `nationalID` = '$member_id'";

     $r = mysql_query($q) or die('Error, query failed');

     list($fname, $ftype, $fsize, $fcontent) = mysql_fetch_array($r);
     if ($fname)
       {
         echo "click here to open member CV";
       }
?>
</a>

更新:

假設cv文件類型為docx,如果可以,我將切換到大小寫doc和pdf並更改內容類型。

這是因為您的內容類型設置。 當瀏覽器是二進制文件時,您的瀏覽器不知道用哪個應用程序打開文檔。 嘗試使用更具描述性的內容類型更改內容類型,以使瀏覽器選擇適當的應用程序。 例如,對於PDF,它將是application/x-pdf 請參考MIME媒體類型目錄

您是否正在尋找這樣的東西:

因為您只想在瀏覽器中打開它,所以它應該對您有用。

請用您實際存在文檔文件的目錄名稱替換YOUR_DIRECOTRY_WHERE_FILE_IS_PRESENT_PHYSICALY

您的browserMember.php代碼將如下所示:

<?php
if(isset($_GET['cv'])) 
 {
    $id = $_GET['cv'];

    $query = "SELECT `fileName`, `fileType`, `fileSize`, `fileContent` FROM `boardteam` WHERE `nationalID` = '$id'";

    $r = mysql_query($query) or die('Error, query failed');

    while ($rowDoc = mysql_fetch_array($r)){ ?>
    <div id="wrapper">
        <div><a href="YOUR_DIRECOTRY_WHERE_FILE_IS_PRESENT_PHYSICALY/<?=$rowDoc['fileName']; ?>" target="_blank" class="text_2" style="text-decoration:none;" ><strong><? echo($row_pdf['fileName']);?></strong></a></div>
    </div>
<?php
echo "<br />";
        }
    }
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM