MySQL实现文件上传和图片处理(mysql上传图片个文件)

MySQL实现文件上传和图片处理

随着互联网的发展,文件上传和图片处理已经成为很多网站必备的功能。常见的做法是将文件和图片保存在服务器上,然后在网页中引用它们。然而,如何高效地管理这些文件和图片,使得它们能够快速被访问和升级,是一个很重要的问题。本文将介绍如何使用MySQL实现文件上传和图片处理。

一、文件上传

文件上传指将本地文件上传到服务器,存储在服务器的硬盘中。实现文件上传的步骤如下:

1. 连接到MySQL数据库,创建一个名为”file_upload”的数据库。

2. 在数据库中创建一张名为”file”的表,用于保存上传的文件。表的结构如下:

CREATE TABLE `file` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`filename` varchar(50) DEFAULT NULL,

`filesize` int(11) DEFAULT NULL,

`filetype` varchar(50) DEFAULT NULL,

`filepath` varchar(200) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

其中,id为文件ID,自增;filename为文件名;filesize为文件大小;filetype为文件类型;filepath为文件在服务器上的路径。

3. 编写文件上传的PHP代码,将上传的文件保存到服务器上,并将相关信息插入到”file”表中。代码如下:

if($_FILES[“file”][“error”]>0){

echo “Error: “.$_FILES[“file”][“error”].”
“;

}else{

$filename=$_FILES[“file”][“name”];

$filesize=$_FILES[“file”][“size”];

$filetype=$_FILES[“file”][“type”];

$filepath=”upload/”.$filename;

move_uploaded_file($_FILES[“file”][“tmp_name”],$filepath);

mysql_query(“INSERT INTO `file` (`filename`, `filesize`, `filetype`, `filepath`) VALUES (‘$filename’, ‘$filesize’, ‘$filetype’, ‘$filepath’)”);

echo “File uploaded successfully!”;

}

?>

二、图片处理

图片处理包括上传图片、裁剪图片、缩放图片等操作。通过MySQL数据库,可以轻松管理这些图片。实现图片处理的步骤如下:

1. 连接到MySQL数据库,创建一个名为”image_upload”的数据库。

2. 在数据库中创建一张名为”image”的表,用于保存上传的图片。表的结构如下:

CREATE TABLE `image` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`filename` varchar(50) DEFAULT NULL,

`filesize` int(11) DEFAULT NULL,

`filetype` varchar(50) DEFAULT NULL,

`filepath` varchar(200) DEFAULT NULL,

`thumbnl` varchar(200) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

其中,id为图片ID,自增;filename为图片名;filesize为图片大小;filetype为图片类型;filepath为原图在服务器上的路径;thumbnl为裁剪后的缩略图在服务器上的路径。

3. 编写图片上传和裁剪的PHP代码,将上传的图片保存到服务器上,并生成缩略图,将相关信息插入到”image”表中。代码如下:

if($_FILES[“file”][“error”]>0){

echo “Error: “.$_FILES[“file”][“error”].”
“;

}else{

$filename=$_FILES[“file”][“name”];

$filesize=$_FILES[“file”][“size”];

$filetype=$_FILES[“file”][“type”];

$filepath=”upload/”.$filename;

$thumbnlpath=”thumbnl/”.$filename;

move_uploaded_file($_FILES[“file”][“tmp_name”],$filepath);

$image = imagecreatefromjpeg($filepath);

$w = imagesx($image);

$h = imagesy($image);

$thumbnl = imagecreatetruecolor(100, 100);

imagecopyresized($thumbnl, $image, 0, 0, 0, 0, 100, 100, $w, $h);

imagejpeg($thumbnl, $thumbnlpath);

mysql_query(“INSERT INTO `image` (`filename`, `filesize`, `filetype`, `filepath`, `thumbnl`) VALUES (‘$filename’, ‘$filesize’, ‘$filetype’, ‘$filepath’, ‘$thumbnlpath’)”);

echo “File uploaded successfully!”;

}

?>

4. 编写图片访问的PHP代码,将图片在网页中显示出来。代码如下:

$result=mysql_query(“SELECT * FROM `image` WHERE `id`=’$id'”);

$row=mysql_fetch_array($result);

header(‘Content-Type:’.$row[‘filetype’]);

echo file_get_contents($row[‘filepath’]);

?>

实现以上步骤后,就可以快速高效地管理文件和图片了。通过建立MySQL数据库,可以轻松地进行文件上传和图片处理。同时,通过编写相关的PHP代码,也可以在网页中访问这些文件和图片,实现更好的用户体验。


数据运维技术 » MySQL实现文件上传和图片处理(mysql上传图片个文件)