Maison >développement back-end >tutoriel php >PHP implémente une méthode de téléchargement d'images dans la base de données et d'affichage de la sortie
Cet article présente principalement la méthode de téléchargement d'images dans la base de données et d'affichage du résultat en PHP. Il analyse les compétences opérationnelles associées de PHP en utilisant la forme binaire pour stocker des images et les lire et les afficher sous forme d'exemples. peut s'y référer
L'exemple de cet article décrit la méthode de téléchargement d'images dans la base de données et d'affichage de la sortie en PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
1 Créer un tableau de données
CREATE TABLE ccs_image ( id int(4) unsigned NOT NULL auto_increment, description varchar(250) default NULL, bin_data longblob, filename varchar(50) default NULL, filesize varchar(50) default NULL, filetype varchar(50) default NULL, PRIMARY KEY (id) )engine=myisam DEFAULT charset=utf8
2. télécharger des images sur le serveur La page upimage.html
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <style type="text/css"> *{margin: 1%} </style> <title>Document</title> </head> <body> <form method="post" action="upimage.php" enctype="multipart/form-data"> 描述: <input type="text" name="form_description" size="40"> <input type="hidden" name="MAX_FILE_SIZE" value="1000000"> <br> 上传文件到数据库: <input type="file" name="form_data" size="40"><br> <input type="submit" name="submit" value="submit"> </form> </body> </html>
3 PHP qui gère les téléchargements d'images upimage.php
<?php if (isset($_POST['submit'])) { $form_description = $_POST['form_description']; $form_data_name = $_FILES['form_data']['name']; $form_data_size = $_FILES['form_data']['size']; $form_data_type = $_FILES['form_data']['type']; $form_data = $_FILES['form_data']['tmp_name']; $dsn = 'mysql:dbname=test;host=localhost'; $pdo = new PDO($dsn, 'root', 'root'); $data = addslashes(fread(fopen($form_data, "r"), filesize($form_data))); //echo "mysqlPicture=".$data; $result = $pdo->query("INSERT INTO ccs_image (description,bin_data,filename,filesize,filetype) VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')"); if ($result) { echo "图片已存储到数据库"; } else { echo "请求失败,请重试";
Remarque : L'image est stockée dans la base de données sous la forme d'un blob binaire, comme ceci
4. .php qui affiche l'image
<?php $id =2;// $_GET['id']; 为简洁,直接将id写上了,正常应该是通过用户填入的id获取的 $dsn='mysql:dbname=test;host=localhost'; $pdo=new PDO($dsn,'root','root'); $query = "select bin_data,filetype from ccs_image where id=2"; $result = $pdo->query($query); $result=$result->fetchAll(2); // var_dump($result); $data = $result[0]['bin_data']; $type = $result[0]['filetype']; Header( "Content-type: $type"); echo $data;
Allez dans le navigateur pour voir les images téléchargées et voir si
peut être affiché. Il n'y a aucun problème. Prouvez que l'image a été stockée dans la base de données sous forme binaire
Recommandations associées :
Comment mettre en œuvre le téléchargement de fichiers et télécharger en PHP
Implémentation PHP Comment télécharger des images sur le serveur zimg
Ce 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!