六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

PHP腳本數據庫技巧詳細說明(2)

[摘要](作者:王凱波)  利用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("不能連接到數據庫服務器!可能是數據庫服務器沒有啟動,或者用戶名密碼有誤!");

  $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語句

  $result = mysql_query($query,$LinkID); //執行,結果集保存到變量$result中

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

  if($num == 0)

  {

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

   exit();

  }

  while($row=mysql_fetch_array($result)) //取結果集的下一行數據到數組$row中

  {

   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

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

  $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 "沒有找到相應的文件!";

   exit();

  }

  $row = mysql_fetch_array($result);

  $mFileData = $row["ResuFile"];

  //讀取個人簡歷的內容(Word文件格式的數據)

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

  //發送頭信息,說明將要發送的數據為word文檔

  echo $mFileData;

  //發送文檔數據

  //end of file download.php

  ?〉

  至此,我們已經實現了個人簡歷的提交、數據庫存儲、信息瀏覽等功能,基本完成了“人才信息交流”的框架功能。

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


主站蜘蛛池模板: 特黄特黄视频 | 日韩欧美三区 | 亚洲精品老司机在线观看 | 亚洲第一页中文字幕 | 日本高清黄色网站 | 天天干夜夜夜 | 日本三区四区免费高清不卡 | 日韩特级 | 亚洲精品乱码久久久久久麻豆 | 色综合久久综合欧美综合 | 日韩精品欧美亚洲高清有无 | 伊人久久大线蕉香港三级 | 四虎家庭影院 | 日韩国产三级 | 色婷婷久久综合中文久久蜜桃 | 综合婷婷丁香 | 亚洲精品一二三四区 | 青青草中文字幕 | 午夜视频观看 | 揄拍成人国产精品视频 | 日产精品卡二卡三卡四卡乱码视频 | 亚洲va欧美va天堂v国产综合 | 日韩种子 | 色爱区综合五月激情 | 亚洲欧美日韩一区成人 | 欧美一区二区三区在线可观看 | 欧美综合社区 | 色综合天天射 | 色播丁香 | 亚洲国产精品高清在线一区 | 欧美综合久久 | 自拍视频免费 | 亚洲精品亚洲人成在线播放 | 香蕉成人福利片视频在线下载 | 西西gogo午夜高清大胆 | 日本免费高清视频二区 | 日韩高清欧美 | 天天舔日日干 | 日韩中文欧美 | 手机看片国产欧美日韩高清 | 亚洲精品乱码中文字幕无线 |