ホームページ  >  記事  >  バックエンド開発  >  PHP および MySQL_PHP を使用した画像の保存とエクスポートのチュートリアル

PHP および MySQL_PHP を使用した画像の保存とエクスポートのチュートリアル

WBOY
WBOYオリジナル
2016-07-21 16:09:14711ブラウズ

データベースをセットアップする
データベースで通常使用するテキスト型または整数型のフィールドと、写真を保存するために使用する必要があるフィールドの違いは、保存する必要があるデータの量にあります。 MySQL データベースは特別なフィールドを使用して大量のデータを保存し、データ型は BLOB です。
MySQL データベースは BLOB を次のように定義します: BLOB データ型は、可変量のデータを格納できる大きなバイナリ オブジェクトです。 BLOB には、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB の 4 種類があり、それぞれ保存できる最大データ長が異なります。
使用する必要があるデータ型を紹介した後、次のステートメントを使用して画像を保存するためのデータテーブルを作成できます。
CREATE TABLE Images (PicNum int NOT NULL AUTO_INCREMENT PRIMARY KEY, Image BLOB);
アップロードスクリプトを書く
ファイルのアップロード方法については、ここでは紹介しませんので、興味のある方は「Web Tao Bar」関連記事を参照してください。ここでは、アップロードされたファイルを受信して​​ MySQL データベースに保存する方法を主に説明します。具体的なスクリプト コードは次のとおりです。ファイル アップロード ドメインの名前は Picture であると仮定します。
If($Picture != "none") {
$PSize = filesize($Picture);
$mysqlPicture =addslashes(fopen($Picture, "r"),
mysql_connect($host,$username,$password) または die("SQL サーバーに接続できません");
@mysql_select_db($db) または die("データベースを選択できません");
mysql_query("INSERT INTO Images ( Image) VALUES ($mysqlPicture)") or die("Cant Perform Query");
}else {
echo"You Did not Upload any photo";
}
?>
このようにして、画像をデータベースに保存します。 MySQL への画像の挿入で問題が発生した場合は、MySQL データベースで許可されている最大パケット サイズを確認できます。設定値が小さすぎる場合は、データベースのエラー ログで対応するレコードが検索されます。
それでは、上記のスクリプトプログラムについて簡単に説明しましょう。まず、「If($Picture != "none")」でファイルがアップロードされているかどうかを確認します。次に、addslashes() 関数を使用して、データ形式エラーを回避します。最後に、MySQL に接続し、データベースを選択して画像を挿入します。
画像を表示する
画像をデータベースに入れる方法がわかったら、データベースから画像を取り出して HTML ページに表示する方法を検討する必要があります。このプロセスはもう少し複雑です。以下に実装プロセスを紹介します。
PHP は画像を表示するために対応するヘッダーを送信する必要があるため、ヘッダーを送信した後は他のヘッダーを送信できないため、一度に 1 つの画像しか表示できないという問題に直面します。
この問題を効果的に解決するために、2 つのファイルを作成しました。このうち、最初のファイルは HTML ページのテンプレートとなり、画像の表示位置を決定します。 2 番目のファイルは、データベースからファイル ストリームを PHP および MySQL_PHP を使用した画像の保存とエクスポートのチュートリアル タグの SRC 属性として実際に出力するために使用されます。
最初のファイルの単純な形式は次のとおりです:

mysql_connect($host,$username,$password) または die("SQL サーバーに接続できません") ;
@mysql_select_db($db) または die("データベースを選択できません");
$result=mysql_query("SELECT * FROM Images") または die("クエリを実行できません"); $result )) {
echo "";>
HTML ページを閲覧すると、画像が表示されるたびに Second.php3 ファイルが呼び出されます。 2 番目のファイルが呼び出されると、対応する画像 ID が渡されるため、データベースから対応する画像を取得して表示できます。
Second.php3 ファイルは次のとおりです:
$result=mysql_query("SELECT * FROM Images WHERE PicNum=$PicNum") または die("Cant Perform Query"); ;
Header( "Content-type: image/gif");
echo $row->Image;
?> この時点で、PHP と MySQL を使用して画像を保存および表示するプロセス全体を紹介しました。この記事で挙げた例はすべて最も単純な例であり、読者は実際のニーズに応じて他の関数を追加して、プログラム全体をより完全なものにすることができます。​



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

www.bkjia.com

tru​​e

技術記事データベースのセットアップ 通常データベースで使用するテキスト型または整数型のフィールドと、画像の保存に使用する必要があるフィールドの違いは、保存する必要があるデータの量です...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。