PHP を使用してファイルをデータベースに保存します
データベースはデータの編成とストレージの中心です。処理されるのは、プログラム、ファイル、レポート、さらにはオーディオ データやビデオ データなど、さまざまなデータである場合もあります。なぜなら、ブラウザを介して個々のユーザーが記入できるのは履歴書のほんの一部だけだからです。したがって、ここではユーザーの履歴書をアップロードする機能を説明します。他のタイプのデータもこの例に従うことができます。
一つ目は情報収集ページです。ユーザーがアップロードするファイルを選択できるようにします。このページのHTMLコードは次のとおりです:
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", " ") または die("データベース サーバーに接続できません! データベース サーバーが起動していないか、ユーザー名とパスワードが間違っている可能性があります!");
$DBID = @mysql_select_db("ResumeDB",$) LinkID) または die ("データベースの選択中にエラーが発生しました。指定したデータベースが存在しない可能性があります!"); Intro', '$mFileData')";
$result = @mysql_query("$query",$LinkID); //クエリを実行し、ファイルをデータベースに挿入します
if (! $result)
echo "データの挿入に失敗しました!";
else
echo "ファイルは正常にアップロードされました!";
@mysql_close($ LinkID);
//end of file insert.php
?>
上記の基盤があれば、ファイルからデータを読み取るプログラムを作成するのは非常に簡単です。データベース。注意する必要があるのは、ファイルがクライアントに送信される方法です。サーバーは、送信されるデータが Word ドキュメントであることを示すヘッダー情報をブラウザーに送信する必要があります。 MSWord がユーザーのコンピュータにインストールされている場合、ブラウザは自動的に Word を呼び出してドキュメントを表示します。
この Word ファイルをダウンロードするためのハイパーリンクを設定できます:
//ファイルの先頭 show.php
$LinkID= @mysql_connect ("localhost", "root", "") または die("データベース サーバーに接続できません! データベース サーバーが起動していないか、ユーザー名とパスワードが間違っている可能性があります!"); = @mysql_select_db("ResumeDB",$LinkID) または die("データベースの選択中にエラーが発生しました。指定したデータベースが存在しない可能性があります!");
$query = "insert into Resume(Name,Intro,ResuFile) )values('$Name', '$Intro', '$mFileData')";
$result = @mysql_query("$query",$LinkID);
//実行query 、ファイルをデータベースに挿入します
$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["名前"].";
echo "
Word 文書の表示";
}
//ファイルの終わり show.php
?
ファイル show.php にアクセスすると、ユーザーに表示されるのは個人的な簡単な情報のリストです。 「Word 文書を表示」をクリックすると、該当メンバーの詳細な履歴書が表示されます。
Word 文書は次のファイルを使用して表示されます:
// ファイルの始まり download.php
$LinkID=@mysql_connect( "localhost", "root" , "") または die("データベース サーバーに接続できません! データベース サーバーが起動していないか、ユーザー名とパスワードが間違っている可能性があります!"); @mysql_select_db( "ResumeDB",$LinkID) または die("データベースの選択中にエラーが発生しました。指定したデータベースが存在しない可能性があります!");
$query = "ID=$ID の Resume から ResuFile を選択してください";
//$ID は呼び出しによって渡される変数です
$result = @mysql_query("$query",$LinkID);
//クエリを実行し、データベースからファイルを読み取ります。 Content
if(mysql_num_rows($result)
{
echo "対応するファイルが見つかりませんでした!";
exit();
$row = mysql_fetch_array($result);
$mFileData = $row["ResuFile"]; >
//個人の履歴書の内容(Wordファイル形式のデータ)を読み取る
header("Content-type: application/msword")
//ヘッダー情報を送信、送信するデータが Word 文書であることを示します
echo $mFileData;
// 文書データを送信
// ファイルの終わり download.php
?>
現時点で個人履歴書の提出、データベース保管、情報閲覧などの機能を実装し、「人材情報交換」というフレームワーク機能はほぼ完成しました。
PHP を介したファイルのアップロードとデータベースの保存は、顕著な技術的問題であることに注意してください。 PHP に関する多くの Web サイトでは、引き続きこの種の問題が発生しています。これらの操作は、プラットフォームと環境設定に大きく依存します。プラットフォームの構成が異なると、動作が失敗する可能性があります。上記プログラムの実行プラットフォームとコンパイル パラメーターは、参考のためにこの記事の最後に添付されています。