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

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

烟雨青岚
烟雨青岚転載
2020-06-13 17:27:113898ブラウズ

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[&#39;userImage&#39;][&#39;tmp_name&#39;])) {
mysql_connect("localhost", "root", "");
mysql_select_db ("phppot_examples");
$imgData =addslashes(file_get_contents($_FILES[&#39;userImage&#39;][&#39;tmp_name&#39;]));
$imageProperties = getimageSize($_FILES[&#39;userImage&#39;][&#39;tmp_name&#39;]);
$sql = "INSERT INTO output_images(imageType ,imageData)
VALUES(&#39;{$imageProperties[&#39;mime&#39;]}&#39;, &#39;{$imgData}&#39;)";
$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[&#39;image_id&#39;])) {
$sql = "SELECT imageType,imageData FROM output_images WHERE imageId=" . $_GET[&#39;image_id&#39;];
$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




List BLOB Images




<img src="imageView.php?image_id=<?php echo $row["imageId"]; ?>" />

読んでいただきありがとうございます。多く。


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

推奨チュートリアル: "

php チュートリアル"

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

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。