程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP腳本與數據庫功能詳解(中)

PHP腳本與數據庫功能詳解(中)

編輯:關於PHP編程

上一篇:PHP腳本與數據庫功能詳解(上)

利用PHP將文件保存到數據庫
  數據庫是數據組織、存儲的中心。將要處理的也可能是各種數據,包括程序、文件、報表,甚至音頻、視頻數據。由於通過浏覽器,個人用戶只能填寫少部分的個人簡歷。因此,我們這裡示范用戶個人簡歷上載的功能。其他類型的數據可以模仿此例進行操作。

  首先是信息收集頁面。讓用戶選擇要上載的文件。此頁面的html代碼如下:

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

  〈p〉 〈/p〉

  〈form method="POST" 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〉

  〈input type="file" name="ResuFile"〉〈/p〉

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

  〈/form〉

  〈!-End of post.htm--〉

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

  這裡,我們再把向數據庫插入記錄的代碼重新設計:

  〈?

  //begin of file insert.php

  if($ResuFile != "none")

  //確定用戶選擇了文件

  {

  $Size = filesize($ResuFile);

  //確定文件大小

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

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

  unlink($ResuFile);

  //刪除上載臨時文件

  }

  $LinkID=@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); //執行查詢,插入文件到數據庫

  if(! $result)

   echo "數據插入失敗!";

  else

   echo "文件上載成功!";

  @mysql_close($LinkID);

  //end of file insert.php

  ?〉

  有了上面的基礎,寫出從數據庫讀數據的程序應該很簡單了。需要注意的是文件向客戶發送的方法。服務器必須向浏覽器發送頭信息,說明將要發送的數據為word文檔。如果用戶計算機裝有MSWord,浏覽器將自動調用word進行文檔顯示。

  我們可以設置一個超級鏈接,來下載這個Word文件:

  〈?

  //begin of file show.php

  $LinkID=@mysql_connect("localhost", "root" , "") or die("不能連接到數據庫服務器!可能是數據庫服務器沒有啟動,或者用戶名密碼有誤!");

  • 共2頁:
  • 上一頁
  • 1
  • 2
  • 下一頁

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved