首頁 > 後端開發 > php教程 > PHP腳本資料庫功能詳解(中)_PHP教程

PHP腳本資料庫功能詳解(中)_PHP教程

WBOY
發布: 2016-07-21 16:04:01
原創
877 人瀏覽過

利用PHP將檔案儲存到資料庫
  資料庫是資料組織、儲存的中心。將要處理的也可能是各種數據,包括程式、文件、報表,甚至是音訊、視訊數據。由於透過瀏覽器,個人用戶只能填寫一小部分的個人簡歷。因此,我們在這裡示範用戶個人履歷上載的功能。其他類型的資料可以模倣此範例進行操作。

  首先是資訊收集頁。讓使用者選擇要上載的檔案。此頁面的html代碼如下:

  〈!-- begin of post.htm--〉

  〈p〉 〈/p〉

    HST " action="insert.php" ENCTYPE="multipart/form-data"〉

  〈p〉〈b〉個人簡歷提交〈/b〉〈/p〉

  〈p〉姓名:〈br〉

  〈input type="text" name="Name" size="20"〉〈/p〉

  〈p〉個人簡介:〈br〉

  〈textarea rows="2" name="Intro" cols="20"〉〈/textarea〉〈/p〉

  〈p〉簡歷文件:〈br〉

  〈p〉簡歷文件:〈br〉

  〈p〉簡歷文件:〈br〉

  〈p〉簡歷檔>  〈input type="file" name="ResuFile"〉〈/p〉

  〈p〉〈input type="submit" value="提交" name="B1"〉〈/p〉

  〈/form〉

  〈!-End of post.htm--〉

  注意,ENCTYPE關鍵字一定不能省,否則檔案無法正確上載。否則檔案無法正確上載。否則檔案無法正確上載。否則檔案無法正確上載。否則檔案無法正確上載。否則檔案無法正確上載。

  這裡,我們再把插入記錄到資料庫的程式碼重新設計:

  〈?

  //begin of file insert.   //begin of file insert.
  //確定使用者選擇了檔案

  {

  /確定檔案大小

  $mFileData = addslashes(fread(fopen($ResuFile, "r"), $Size));

  //讀取文件,處理內容

  //讀取文件,對內容進行處理

  unlink($ResuFile);

  //刪除上載臨時檔案

  }

  }

  }
＀   ぀ ") or die("無法連接到資料庫伺服器!可能是資料庫伺服器沒有啟動,或使用者名稱密碼有誤!");

  $DBID = @mysql_select_db("ResumeDB",$LinkID) or die ("選擇資料庫出錯,可能是您指定的資料庫不存在!");

  $query = "insert into Resume(Name,Intro,ResuFile) values('$Name', '$Intro', '$mFileData')";

  $result = @mysql_query("$query",$LinkID); //執行查詢,插入檔案到資料庫

  if(!result)

   echo "資料插入失敗!";

  else

   echo "檔案上載成功!";

   echo "檔案上載成功!";

   echo "檔案上載成功!";

   echo "5%_m

  //end of file insert.php

  ?〉

  有了上面的基礎,寫出從資料庫讀取資料的程式應該很簡單了。需要注意的是文件向客戶發送的方法。伺服器必須向瀏覽器傳送頭訊息,說明將要傳送的資料為word文件。若使用者電腦裝有MSWord,瀏覽器會自動呼叫word進行文件顯示。

  我們可以設定一個超級鏈接,來下載這個Word檔案:

  〈?

  //begin of file show.php

  //begin of file .php

  //begin of file=show.php
@mysql_connect("localhost", "root" , "") or die("無法連線到資料庫伺服器!可能是資料庫伺服器沒有啟動,或使用者名稱密碼有誤!");

  $DBID = @mysql_select_db("ResumeDB",$LinkID) or die("選擇資料庫出錯,可能是您指定的資料庫不存在!");

  $query = "insert into Resume(Name,Intro,ResuFile) values('$Name', '$Intro', '$mFileData')";

  $result = @mysql_query("$query",$LinkID);

  //執行查詢,插入檔案到資料庫

  $query= "select ID,Name,Intro from Resume";

  //產生SQL語句

  $num= mysql_num_rows($result); //取得查詢傳回的記錄行數

  if($num == 0)

  {

   echo "沒有找到任何記錄";

   exit();
  {

   echo $row["ID"]." ".$row ["Name"]." ".$row["Intro"]." ";

   echo "〈a href= "download.php?ID=".$row["ID"]." "〉查看Word文件〈/a〉〈br〉";
  }   //end of file show.php  ?〉 訪問檔案show.php,使用者看到的是個人簡短資訊的清單。點擊“查看Word文件”,即可看到對應成員詳細的個人履歷。

  Word文件的顯示是用下面的檔案:

  〈?

  // begin of file download.php
  // begin of file download.php

  $DBID = @mysql_select_db( "ResumeDB",$LinkID) or die("選擇資料庫出錯,可能是您指定的資料庫不存在!");

  $query = "select ResuFile from Resume where ID=$ID";

  //$ID為呼叫傳遞的變數

  $result = @mysql_query("$query",$LinkID);

  //執行查詢,從資料庫讀取檔案內容

  if(mysql_num_rows($result) 〈 1 )

  {

   echo "沒有找到對應的檔案!

  }

  $row = mysql_fetch_array($result);

  $mFileData = $row["Re>
  $mFileData = $row["Re」];履歷表的內容(Word文件格式的資料)

  header("Content-type: application/msword");

  //傳送頭訊息,說明將要傳送的資料為word文件
  //傳送頭訊息,說明將要傳送的資料為word文件

  echo $mFileData;

  //傳送文件資料

  //end of file download.php
我們已經實現了個人簡歷的提交、資料庫儲存、資訊瀏覽等功能,基本上完成了「人才資訊交流」的框架功能。

  需要說明的是,透過PHP進行文件上載及資料庫儲存是較突出的技術難題。很多關於PHP的網站都不斷出現這類問題。這些操作,對平台、環境設定依賴性較大。不同的平台配置,都可能導致操作的失敗。本文後面附了上述程式的運作平台、編譯參數,以供參考。




http://www.bkjia.com/PHPjc/316147.html

www.bkjia.com

truehttp: //www.bkjia.com/PHPjc/316147.htmlTechArticle利用PHP將檔案儲存到資料庫資料庫是資料組織、儲存的中心。將要處理的也可能是各種數據,包括程式、文件、報表,甚至是音訊、視訊資料...

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板