用PHP向MySql中写入图片
我们经常遇到的问题是如何将图片文件放到Mysql数据库当中,这样可以避免没有认证的用户找到我们的图片资源!
1、看看数据库里的表结构怎么写
CREATE TABLE Images
(
PicNum int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Image BLOB,
Comment TEXT
)--> PicNum -- 自动增加的ID号码
--> Image -- 二进制数据,用来放图片
--> Comment -- 注释信息,比如:这张照片是我7岁照的!
2、存储一张图片的步骤
//数据库的连接参数,例子当中这些参数在mysqlconnect.php中填写$MysqlHost = '';
$MysqlUser = '';
$MysqlPass = '';
$MysqlDb ='';
$ImagePath = 'mysqlimages/1.gif';
$Comment = '哈哈哈;
$ImageSize = filesize($ImagePath);
$MysqlImage = addslashes(fread(fopen($ImagePath, 'r'), $ImageSize));
mysql_connect($MysqlHost, $MysqlUser, $MysqlPass) or die ('Unable to connect to SQL Server');
mysql_select_db($MysqlDb) or die ('Unable to connect Database');
mysql_query("INSERT INTO Images (Image,Comment) VALUES ('$MysqlImage','$Comment')") or die ("Can't Perform Query");addslashes()函数是将那些可能发生转意的字符加上\,如` ' " 这些符号!
$MysqlImage = addslashes(fread(fopen($ImagePath, 'r'), $ImageSize));这是个联合的写法,其它的不用解释!
就这样一张图片进入了mysql数据库