Heim > Artikel > Backend-Entwicklung > So laden Sie Bilder in PHP in die Datenbank hoch
Im Allgemeinen besteht die traditionelle Art und Weise, wie wir Bilder hochladen, darin, die Bilder im lokalen Ordner des Servers zu speichern. Hier werde ich kurz die Methode zum Speichern von Bildern direkt in der Datenbank vorstellen.
MySQL-Datenbank bietet den Blob-Typ zum Speichern großer Datenmengen. Es gibt vier BLOB-Typen, die Daten unterschiedlicher Größe aufnehmen können.
TinyBlob Maximum 255B
Blob Maximum 65K
MediumBlob Maximum 16M
LongBlob Maximum 4G
Es ist zu beachten, dass die PHP-Konfigurationsdatei selbst eine Größenbeschränkung für Post-Formulardaten und eine Größenbeschränkung für die Dateiübermittlung hat. Daher müssen Sie php.ini
upload_max_filesize=10M (Grenze für die Dateiübermittlung)
post_max_size=10M (Grenze für die Formulardatengröße)
Ich verwende PHP, um ein einfaches Registrierungsbeispiel zu erstellen. Das Design der MySQL-Tabelle (Feldbenennung ist etwas unregelmäßig, Sie müssen auf die Feldbenennungskonvention in tatsächlichen Projekten achten)Datenbankverbindungsdatei conn. php
$conn = @mysql_connect('localhost' , 'userName' , 'passWord') or die(mysql_error()); //连接数据库 mysql_query('set names utf8' , $conn); //设置连接字符集 @mysql_select_db('user' , $conn) or die(mysql_error()); //连接数据表
Registrierungsformular-Implementierung register.html (wichtige Teile auswählen)
<form action="register.php" method="post" enctype="multipart/form-data"> <dl class="admin_login"> <dd class="pic"> <img src="img/5.png" alt="" id="preview"/> <a href="javascript:;" class="a-upload"> <input type="file" name="photo" id="" οnchange="imgPreview(this)">上传头像 </a> </dd> <dd class="email_icon"> <input type="text" placeholder="请输入注册邮箱" name="email" class="login_txtbx"> </dd> <dd class="name_icon"> <input type="text" placeholder="请输入帐号昵称" name="name" class="login_txtbx"> </dd> <dd class="phone_icon"> <input type="tel" placeholder="请输入联系号码" name="phone" class="login_txtbx"> </dd> <dd class="school_icon"> <select name="school"> <option value="0">请选择报研学校</option> <option value="1">中南大学</option> <option value="2">电子科技大学</option> <option value="3">上海交通大学</option> <option value="4">华南理工大学</option> </select> </dd> <dd class="pwd_icon"> <input type="password" placeholder="请输入您的密码" name="password" class="login_txtbx"> </dd> <dd class="rpwd_icon"> <input type="password" placeholder="请确认您的密码" class="login_txtbx"> </dd> <dd> <input type="submit" value="立即注册" class="submit_btn"> </dd> </dl> </form>
Bilder hochladen und Registrierungsseite registrieren .php
<?php require('conn.php'); if(empty($_POST)){ require('register.html'); }else{ $image = mysql_real_escape_string(file_get_contents($_FILES['photo']['tmp_name'])); //获取图片 $image_type = $_FILES['photo']['type']; //获取图片格式 $user_name = $_POST['name']; $user_email = $_POST['email']; $user_phone = $_POST['phone']; $user_school = $_POST['school']; $password = $_POST['password']; $sqlstr = "insert into user(uname,email,phone,password,school,photo,type) values('".$user_name."','".$user_email."','".$user_phone."','".$password."','".$user_school."','".$image."','".$image_type."')"; @mysql_query($sqlstr) or die(mysql_error()); //执行sql语句,若执行成功,继续下面跳转页面。若执行失败,提示错误信息 header('location:login.php'); //跳转页面 exit(); } ?>Zu beachtende Dinge:
1) Größenbeschränkung für PHP-Konfigurationsdateien
2) Beim Hochladen von Dateien mit Geben Sie im Formular unbedingt das Attribut content enctype="multipart/form-data" ein. Andernfalls wird eine Ausnahme gemeldet, wenn $_FILES[ 'photo' ] [ ' tmp_name' ] zum Abrufen von Dateiinformationen Empfohlenes Tutorial:
PHP-Video-TutorialDas obige ist der detaillierte Inhalt vonSo laden Sie Bilder in PHP in die Datenbank hoch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!