Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert eine Methode zum Hochladen von Bildern in die Datenbank und zum Anzeigen der Ausgabe

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

不言
不言Original
2018-05-31 15:11:415799Durchsuche

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

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>

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 "请求失败,请重试";

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;

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!

Stellungnahme:
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