ホームページ バックエンド開発 PHPチュートリアル PHP は BLOB を使用して画像情報 (ソース コードを含む) にアクセスします

PHP は BLOB を使用して画像情報 (ソース コードを含む) にアクセスします

Jun 13, 2020 pm 05:27 PM
php

PHP は BLOB を使用して画像情報 (ソース コードを含む) にアクセスします

php は blob を使用して画像情報 (ソース コードを含む) にアクセスします

BLOBはいバイナリ ラージ オブジェクトと呼ばれる MySQL データ型。その名前が示すように、MYSQL バイナリ型や VARBINARY 型と同様に、大量の文字列データを格納するために使用されます。

MySQL BLOB 分類

MySQL BLOB タイプの最大ストレージ長 (バイト)

TINYBLOB (1)(2 ^ 8)

blob ((2 ^ 16)1)

MEDIUMBLOB ((2 ^ 24)1)

LONGBLOB ((2 ^ 32)1)

この記事の内容このチュートリアルでは、PHP を使用して MySQL BLOB フィールドを挿入および読み取る方法を学びます。

(PS: T Good PHP Q Buckle: 276167802、検証: csl)

まず、BLOB フィールドを持つ MySQL テーブルを作成する必要があります

CREATE TABLE IF NOT EXISTS `output_images` (
  `imageId` tinyint(3) NOT NULL AUTO_INCREMENT,
  `imageType` varchar(25) NOT NULL DEFAULT '',
  `imageData` mediumblob NOT NULL,
  PRIMARY KEY (`imageId`)
)
ログイン後にコピー

データの挿入

画像情報を MySQL BLOB フィールドに挿入します。

1. 画像ファイルをアップロードします。

2. 画像属性 (画像データ、画像タイプなど) を取得します。

3. 画像ファイルを BLOB に挿入します。

PHP 実装スクリプト:

imageUpload.php

<?php
if(count($_FILES) > 0) {
if(is_uploaded_file($_FILES['userImage']['tmp_name'])) {
mysql_connect("localhost", "root", "");
mysql_select_db ("phppot_examples");
$imgData =addslashes(file_get_contents($_FILES['userImage']['tmp_name']));
$imageProperties = getimageSize($_FILES['userImage']['tmp_name']);
$sql = "INSERT INTO output_images(imageType ,imageData)
VALUES('{$imageProperties['mime']}', '{$imgData}')";
$current_id = mysql_query($sql) or die("<b>Error:</b> Problem on Image Insert<br/>" .
mysql_error());
if(isset($current_id)) {
header("Location: listImages.php");
}}}
?>
<HTML>
<HEAD>
<TITLE>Upload Image to MySQL BLOB</TITLE>
<link href="imageStyles.css" rel="stylesheet" type="text/css" />
</HEAD>
<BODY>
<form name="frmImage" enctype="multipart/form-data" action="" method="post"
class="frmImageUpload">
<label>Upload Image File:</label><br/>
<input name="userImage" type="file" class="inputFile" />
<input type="submit" value="Submit" class="btnSubmit" />
</form>
</div>
</BODY>
</HTML>
ログイン後にコピー

このスクリプトを実行すると、アップロード フォームが次のように表示されます。

# #フォームを送信すると、PHP はコンテンツ画像のファイルを取得し、それをバイナリ データとして MySQL BLOB 列に保存します。


画像の表示

BLOB イメージをブラウザ上に表示するには、次のことを行う必要があります:


1 , MySQL BLOB から画像データと型を取得します

2. PHP header() 関数を使用して、型を画像 (image/jpg、image/gif、…) に設定します。

#3. 画像コンテンツを出力します。

imageView.php
<?php
$conn = mysql_connect("localhost", "root", "");
mysql_select_db("phppot_examples") or die(mysql_error());
if(isset($_GET['image_id'])) {
$sql = "SELECT imageType,imageData FROM output_images WHERE imageId=" . $_GET['image_id'];
$result = mysql_query("$sql") or die("<b>Error:</b> Problem on Retrieving Image BLOB<br/>"
. mysql_error());
$row = mysql_fetch_array($result);
header("Content-type: " . $row["imageType"]);
echo $row["imageData"];
}
mysql_close($conn);
?>
ログイン後にコピー

上記の PHP コードは、MySQL BLOB に保存されている画像を表示します。 HTML 画像タグから、対応する image_id をパラメータとしてこの PHP ファイルを参照できます。例:

<img src="imageView.php?image_id=<?php echo $row["imageId"]; ?>" />
ログイン後にコピー

完成したコードは次のとおりです:

listImages.php

<?php
$conn = mysql_connect("localhost", "root", "");
mysql_select_db("phppot_examples");
$sql = "SELECT imageId FROM output_images ORDER BY imageId DESC";
$result = mysql_query($sql);
?>
<HTML>
<HEAD>
<TITLE>List BLOB Images</TITLE>
<link href="imageStyles.css" rel="stylesheet" type="text/css" />
</HEAD>
<BODY>
<?php
while($row = mysql_fetch_array($result)) {
?>
&lt;img src=&quot;imageView.php?image_id=&lt;?php echo $row[&quot;imageId&quot;]; ?&gt;&quot; /&gt;<br/>
<?php
}
mysql_close($conn);
?>
</BODY>
</HTML>
ログイン後にコピー
読んでいただきありがとうございます。多く。


元のリンク: https://blog.csdn.net/u012275531/article/details/1791499

推奨チュートリアル: "

php チュートリアル"

以上がPHP は BLOB を使用して画像情報 (ソース コードを含む) にアクセスしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

See all articles