PHP implementiert eine Methode zum Hochladen von Bildern in die Datenbank und zum Anzeigen der Ausgabe

不言
Freigeben: 2023-03-28 17:40:02
Original
5866 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Methode zum Hochladen von Bildern in die Datenbank und zum Anzeigen der Ausgabe in PHP vorgestellt. Er analysiert die zugehörigen Betriebsfähigkeiten von PHP, um Bilder in Binärform zu speichern und sie in Form von Beispielen anzuzeigen kann darauf verweisen

Das Beispiel in diesem Artikel beschreibt die Methode zum Hochladen von Bildern in die Datenbank und zum Anzeigen der Ausgabe in PHP. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

1 Erstellen Sie eine Datentabelle

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
Nach dem Login kopieren

2 Hochladen von Bildern auf den Server 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>
Nach dem Login kopieren

3. PHP für die Verarbeitung von Bild-Uploads upimage.php

<?php
if (isset($_POST[&#39;submit&#39;])) {
  $form_description = $_POST[&#39;form_description&#39;];
  $form_data_name = $_FILES[&#39;form_data&#39;][&#39;name&#39;];
  $form_data_size = $_FILES[&#39;form_data&#39;][&#39;size&#39;];
  $form_data_type = $_FILES[&#39;form_data&#39;][&#39;type&#39;];
  $form_data = $_FILES[&#39;form_data&#39;][&#39;tmp_name&#39;];
  $dsn = &#39;mysql:dbname=test;host=localhost&#39;;
  $pdo = new PDO($dsn, &#39;root&#39;, &#39;root&#39;);
  $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 (&#39;$form_description&#39;,&#39;$data&#39;,&#39;$form_data_name&#39;,&#39;$form_data_size&#39;,&#39;$form_data_type&#39;)");
  if ($result) {
    echo "图片已存储到数据库";
  } else {
    echo "请求失败,请重试";
Nach dem Login kopieren

Hinweis: Das Bild wird in der Datenbank in Form eines binären Blobs gespeichert, etwa so

4. php zur Anzeige des Bildes getimage.php

<?php
  $id =2;// $_GET[&#39;id&#39;]; 为简洁,直接将id写上了,正常应该是通过用户填入的id获取的
  $dsn=&#39;mysql:dbname=test;host=localhost&#39;;
  $pdo=new PDO($dsn,&#39;root&#39;,&#39;root&#39;);
  $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][&#39;bin_data&#39;];
  $type = $result[0][&#39;filetype&#39;];
  Header( "Content-type: $type");
  echo $data;
Nach dem Login kopieren

Gehen Sie zum Browser, um das hochgeladene Bild zu überprüfen und zu sehen, ob es angezeigt werden kann > ist kein Problem, was beweist, dass das Bild in binärer Form gespeichert wurde

Verwandte Empfehlungen:

Wie man Dateien in PHP hochlädt und herunterlädt

So laden Sie Bilder in PHP auf den ZIMG-Server hoch

Das obige ist der detaillierte Inhalt vonPHP implementiert eine Methode zum Hochladen von Bildern in die Datenbank und zum Anzeigen der Ausgabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage