php+mysql图片的插入、显示操作代码

我使用dw编辑的php,连接了一个dorm的数据库,其中有一个member的table,M_No及M_Photo分别存放编号int型的,图片blob类型的我想在php页面... 我使用dw编辑的php,连接了一个dorm的数据库,其中有一个member的table,M_No及M_Photo分别存放编号int型的,图片blob类型的
我想在php页面中插入电脑中的图片到数据库中(保存图片而不是图片路径),同时还可以从数据库中读取图片并显示在php页面中,代码该怎么写,请高手赐教(pS:如果要保存图片路径该怎么写,顺便解释一下)
谢了,最好写出关键代码,不要语言描述,我是刚学php的,可以给我邮件
truefriendwei@yahoo.com.c
展开
 我来答
匿名用户
2013-10-21
展开全部
如果存图片流,数据库会非常庞大,建议还是存路径,图片放到统一的目录下,方便管理
存就是insert 字段用vchar的存相对路径就可以了
读就是查数据库 然后放到数组里 、
显示<img src='读出来的变量'>就可以了

function uploadPhoto ($file) {

$this->result = false;
$this->error = false;
// -- save parameters
$this->_file = $file;
//get path
$this->createUploadDir();
$this->_destination=SystemProperties::$UPLOAD_ROOT_PATH['photo'];
//if (!is_null($allowed)) { $this->_allowed = $allowed; } else { $this->_allowed = array('jpg','jpeg','gif','png'); }

// -- check that FILE array is even set
if (isset($file) && is_array($file) && !$this->upload_error($file['error'])) {

// -- cool, now set some variables
$fileID=$this->_IDGenerator->getNextId('IMAGE');
$fileExt=$this->ext($file['name']);
$fileName =$fileID.'.'.$fileExt;
$this->createFileDir('image',$fileName);
$fileTmp = $file['tmp_name'];
//$fileSize = $file['size'];
//$fileType = $file['type'];
$fileError = $file['error'];

// -- update name
$this->_name = $this->_destination.$fileName;
// -- it's been uploaded with php
if (is_uploaded_file($fileTmp)) {

// -- where to put the file?

$filePath=$this->_fileUtil->getFilePath($fileName);

$output = $this->_destination.$filePath['filePath'];

//resize the img first

$isFileName_f=$this->resizeImage($this->_file,'f',$filePath['noExtFileName'].'_f'.$filePath['ext']);

//or resize the img like this,choosed type in ('a','b','c')

//$isFileName_b=$this->resizeImage($this->_file,'b',$filePath['noExtFileName'].'_b'.$filePath['ext']);

if($isFileName_a==true && $isFileName_b==true && $isFileName_c==true && $isFileName_d==true){

// -- just upload it

if (move_uploaded_file($fileTmp, $output)) {

chmod($output, 0644);

$this->result = basename($this->_name);

return $this->result;

} else {

$this->error("Could not move '$fileName' to '$this->_destination'");

}

}
} else {

$this->error("Possible file upload attack on '$fileName'");
}
} else {
$this->error("Possible file upload attack");
}
}

用php框架的,和纯php写不一样,但是问题不大就是一个思路,没有完全通用的代码,前台加个上传框,做个form传到后台就不用写了吧,传过来的参数$file就是文件,也是个数组用$_FILE[]能看到,首先校验后缀名或者前台js校验,move_uploaded_file这句是最重要的一句,其他都是辅助准备参数而已,意思就是把传上来的东西放到哪去,路径加文件名 $output 这个参数就是你要保存到数据库的值了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式