php utilise blob pour accéder aux informations sur l'image (y compris le code source)
BLOBOui Un type de données MySQL appelé grand objet binaire. Comme son nom l'indique, il est utilisé pour stocker de grandes quantités de données de chaîne similaires aux types binaires MYSQL et VARBINARY.
Classification MySQL BLOB
Longueur de stockage maximale du type MySQL BLOB (octets)
TINYBLOB (1)(2 ^ 8)
blob ((2 ^ 16)1)
MEDIUMBLOB ((2 ^ 24)1)
LONGBLOB ((2 ^ 32)1)
Dans cet article Dans Dans ce tutoriel, nous apprenons à insérer et lire des champs MySQL BLOB à l'aide de PHP.
(PS : T Nice boucle PHP Q : 276167802, Vérification : csl)
Tout d'abord, nous devons créer une table MySQL avec un champ BLOB .
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`) )
Insérer des données
Insérer des informations sur l'image dans le champ MySQL BLOB.
1. Téléchargez le fichier image.
2. Obtenez les attributs de l'image (données d'image, type d'image, etc.)<🎜. >
3. Insérez le fichier image dans BLOB.
<?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>
<🎜 Soumettez le formulaire, PHP récupère le fichier de l'image de contenu et le stocke sous forme de données binaires dans une colonne MySQL BLOB.
Pour afficher l'image BLOB sur le navigateur, il faut :
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);
?>
<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"]; ?>" />
Merci d'avoir lu, j'espère que vous bénéficierez d'un parcelle.
Lien original : https://blog.csdn.net/u012275531/article/details/1791499
Tutoriel recommandé : "
Tutoriel phpCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!