php中,如何将图片保存到mysql中?

php中,如何将图片保存到mysql中?,第1张

笔者是在ubuntu环境下测试的:首先创建一个查询语句的文件

如query.sql(名字你自己取),内容大致如下:use

datebase_name

//不解释了吧

select

xxx

from

table

where

where-condition....

//就是一个你需要查询的语句保存好,现在开始 *** 作:#mysql

-h

服务器ip地址

-u

用户名

-p密码

-p

端口

输出的文件名demo:

mysql

-h

127.0.0.1

-u

root

-p

1234

-p

3300

/home/michael/test.txt好了,现在你可以在对应的目录中找到你想要的文件了。

看你的表,图片不是保存在mysql数据库中,数据库中只是保存了图片的路径。想保存的数据库中必须定义字段为longblob类型如:`image` longblob ,然后

<?

$connect = MYSQL_CONNECT( "localhost", "root", "admin") or die("Unable to connect to MySQL server") 

mysql_select_db("blogsystem") or die("Unable to select database") 

$data = addslashes(fread(fopen($form_data, "r"), filesize($form_data))) 

$result=MYSQL_QUERY( "INSERT INTO ccs_image (description,bin_data,filename,filesize,filetype) VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')")   

$id= mysql_insert_id()  

print "<p>This file has the following Database ID: <a href='get_data.php?id=$id'><b>$id</b></a>" 

MYSQL_CLOSE() 

?>

1、可以的,这也是一个冷备份数据库和迁移数据库的方法,如果别人能复制整个data目录,确实不安全。

2、data下每个目录是一个database,比如mysql目录里面包含的系统表user.MYD包含了mysql用户信息

3、不同的存储引擎用的不同的文件存储数据,

a)如果是MyISAM存储引擎的一个table存成了三个文件

table.frm(表结构)

table.MYD(表数据)

table.MYI(表索引)

这种存储引擎你可以只复制一个table(即三个文件)或者一个数据库(即整个目录)。

b)如果是InnoDB存储引擎用到了表空间文件ibdata1

所以要复制需要包含数据库目录,还要包含表空间文件ibdata1等。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8725148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存