ホームページ > php教程 > php手册 > PHP および MySQL を使用して画像を保存およびエクスポートする

PHP および MySQL を使用して画像を保存およびエクスポートする

WBOY
リリース: 2016-06-13 12:44:16
オリジナル
1112 人が閲覧しました

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

<
mysql_connect($host,$username,$password) または die(" SQL サーバーに接続できません");
@mysql_select_db($db) または die("データベースを選択できません");
$result=mysql_query("SELECT * FROM イメージ") または die("実行できませんQuery" );
while($row=mysql_fetch_object($result)) {
echo "";
} ? >

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート