Heim > Backend-Entwicklung > PHP-Problem > So laden Sie Bilder in PHP in die Datenbank hoch

So laden Sie Bilder in PHP in die Datenbank hoch

王林
Freigeben: 2023-02-24 15:38:02
Original
7014 Leute haben es durchsucht

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)

So laden Sie Bilder in PHP in die Datenbank hoch

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()); //连接数据表
Nach dem Login kopieren

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

Bilder hochladen und Registrierungsseite registrieren .php

<?php
	require(&#39;conn.php&#39;);
		
	if(empty($_POST)){
		require(&#39;register.html&#39;);
	}else{			  
		$image = mysql_real_escape_string(file_get_contents($_FILES[&#39;photo&#39;][&#39;tmp_name&#39;])); //获取图片
		$image_type = $_FILES[&#39;photo&#39;][&#39;type&#39;]; //获取图片格式
		$user_name = $_POST[&#39;name&#39;];
		$user_email = $_POST[&#39;email&#39;];
		$user_phone = $_POST[&#39;phone&#39;];
		$user_school = $_POST[&#39;school&#39;];
		$password = $_POST[&#39;password&#39;];
 
		$sqlstr = "insert into user(uname,email,phone,password,school,photo,type) values(&#39;".$user_name."&#39;,&#39;".$user_email."&#39;,&#39;".$user_phone."&#39;,&#39;".$password."&#39;,&#39;".$user_school."&#39;,&#39;".$image."&#39;,&#39;".$image_type."&#39;)";  
		  
		@mysql_query($sqlstr) or die(mysql_error()); //执行sql语句,若执行成功,继续下面跳转页面。若执行失败,提示错误信息  
    		header(&#39;location:login.php&#39;); //跳转页面
		exit();  			
	}
?>
Nach dem Login kopieren

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-Tutorial

Das 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!

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