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