用PHP实现把图象上传到数据库
上传|数据|数据库
有什么问题请与我联系:http://www.webjx.com web@webjx.com
转载请注明出处
今天教给大家如何用PHP实现把图象上传到MYSQL数据库中。 在这个教程中我们需要建立3个PHP文件:
readdir.php - 把图片放到数据库的代码
image.php - 显示实际图片的代码
view.php - 显示你如何调用数据库中的图片的代码
1.创建一个数据库
CREATE TABLE `images` (
`imgid` INT NOT NULL AUTO_INCREMENT ,
`sixfourdata` LONGTEXT NOT NULL ,
PRIMARY KEY ( `imgid` )
);
READDIR.PHP
具体的内容:
$dbcnx = mysql_connect("localhost", "username", "password");
mysql_select_db("base64imgdb");
?>
'我们需要打开一个目录
"./"
'readdir.php 文件定位于这个目录:
$path = "./";
$dir_handle = opendir($path) or die("Unable to open directory $path");
下面是比较难的部分,大家需要好好研究一下:把图象分类,并且读出正在使用的一些数据
fopen
'转换
base64_encode
' 插入到表里
while ($file = readdir($dir_handle)) {
$filetyp = substr($file, -3);
if ($filetyp == 'gif' OR $filetyp == 'jpg') {
$handle = fopen($path . "/" . $file,'r');
$file_content = fread($handle,filesize($path . "/" . $file));
fclose($handle);
$encoded = chunk_split(base64_encode($file_content));
$sql = "INSERT INTO images SET sixfourdata='$encoded'";
mysql_query($sql);
}
}
?>
关闭设置的目录,然后处理:
closedir($dir_handle);
echo("complete");
mysql_close($dbcnx);
?>
读出图片的代码:IMAGE.PHP
这段代码比较难,我们要好好看看
$dbcnx = mysql_connect("localhost", "username", "password");
mysql_select_db("base64imgdb");
?>
我们读出图片使用的代码image.php?img=x:
$img = $_REQUEST["img"];
?>
之后我们需要连接数据库,然后读出
$result = mysql_query("SELECT * FROM images WHERE imgid=" . $img . "");
if (!$result) {
echo("请求错误: " . mysql_error() . "");
exit();
}
while ($row = mysql_fetch_array($result)) {
$imgid = $row["imgid"];
$encodeddata = $row["sixfourdata"];
}
?>
mysql_close($dbcnx);
echo base64_decode($encodeddata);
?>
在这里我们要理解base64-encoded 图象数据格式。
"让我们来看看具体的图片吧!" VIEW.PHP
image.php?img=1
image.php?img=357
看看完整的一个例子吧!
readdir.php:
###############################
# DB CONNECTION
# CHANGE THESE VALUES
###############################
$dbcnx = mysql_connect("localhost", "username", "password");
mysql_select_db("base64imgdb");
$path = "./";
$dir_handle = opendir($path) or die("Unable to open directory $path");
while ($file = readdir($dir_handle)) {
$filetyp = substr($file, -3);
if ($filetyp == 'gif' OR $filetyp == 'jpg') {
$handle = fopen($file,'r');
$file_content = fread($handle,filesize($file));
fclose($handle);
$encoded = chunk_split(base64_encode($file_content));
$sql = "INSERT INTO images SET sixfourdata='$encoded'";
mysql_query($sql);
}
}
closedir($dir_handle);
echo("complete");
mysql_close($dbcnx);
?>
image.php:
$dbcnx = mysql_connect("localhost", "username", "password");
mysql_select_db("base64imgdb");
$img = $_REQUEST["img"];
$result = mysql_query("SELECT * FROM images WHERE imgid=" . $img . "");
if (!$result) {
echo("Error performing query: " . mysql_error() . "");
exit();
}
while ($row = mysql_fetch_array($result) ) {
$imgid = $row["imgid"];
$encodeddata = $row["sixfourdata"];
}
mysql_close($dbcnx);
echo base64_decode($encodeddata);
?>
And view.php (i shouldnt need to post this..)
..
..

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

One of the major changes introduced in MySQL 8.4 (the latest LTS release as of 2024) is that the "MySQL Native Password" plugin is no longer enabled by default. Further, MySQL 9.0 removes this plugin completely. This change affects PHP and other app

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

Validator can be created by adding the following two lines in the controller.

CakePHP is an open source MVC framework. It makes developing, deploying and maintaining applications much easier. CakePHP has a number of libraries to reduce the overload of most common tasks.
