Home >Backend Development >PHP Problem >How to upload pictures to database in php

How to upload pictures to database in php

王林
王林Original
2019-09-21 11:49:147015browse

How to upload pictures to database in php

Generally, the traditional way we upload pictures is to save the pictures in the local folder of the server. Here I will briefly introduce the method of storing pictures directly into the database.

Mysql database provides the Blob type for storing large amounts of data. There are four types of BLOB that can accommodate data of different sizes.

TinyBlob Maximum 255B

Blob Maximum 65K

MediumBlob Maximum 16M

LongBlob Maximum 4G

It should be noted that the PHP configuration file itself has a size limit for post form data and a size limit for file submission. Therefore, you need to modify php.ini

upload_max_filesize=10M (file submission file size limit)

##post_max_size=10M (form data size limit)

I use php to make a simple registration example.

The design of mysql table (field naming is a bit irregular, you need to pay attention to the field naming specifications in actual projects)

How to upload pictures to database in php

Database connection file 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()); //连接数据表

Registration form implementation register.html (select key parts)

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

Upload pictures and registration page register.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();  			
	}
?>

Things to note:

1) PHP configuration file size limit

2) When uploading files using form, be sure to Add the attribute content enctype="multipart/form-data", otherwise an exception will be reported when using $_FILES[ 'photo' ] [ ' tmp_name' ] to obtain file information

Recommended tutorial:

PHP video tutorial

The above is the detailed content of How to upload pictures to database in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn