mysql - 用php把本地要上传的图片经过剪切,存入数据库

WBOY
풀어 주다: 2016-06-06 20:52:25
원래의
1018명이 탐색했습니다.

//获取上传临时文件路径
$uploadedfile = $_FILES['uploadfile']['tmp_name'];

//获取源文件资源句柄。接收参数为图片路径,返回句柄
$source = ImageCreateFromJPEG($uploadedfile);
		
//获取文件的长宽
list($width,$height) = GetImageSize($uploadedfile);
		
if ($width > $height) {
	$xoord = ceil(($width-$height)/2);
	$width = $height;
} else {
	$yoord = ceil(($height-$width)/2);
	$height = $width;
}
		
//创建一个图片。接收参数分别为宽高,返回生成的资源句柄
$thumb = ImageCreatetruecolor(100,100);		//大图

//将源文件剪切全部域并缩小放到目标图片上。前两个为资源句柄 
ImageCopyResampled($thumb,$source,0,0,$xoord,$yoord,100,100,$width,$height);

//图片显示
ImageJPEG($thumb,'',100);
로그인 후 복사
로그인 후 복사

以上是图片剪切的过程,假定我可以直接通过$db->select|update|insert来操作数据库,请问我要如何完善上面的代码,把要上传的图片经过剪切后转换为2进制存入mysql数据库呢

回复内容:

//获取上传临时文件路径
$uploadedfile = $_FILES['uploadfile']['tmp_name'];

//获取源文件资源句柄。接收参数为图片路径,返回句柄
$source = ImageCreateFromJPEG($uploadedfile);
		
//获取文件的长宽
list($width,$height) = GetImageSize($uploadedfile);
		
if ($width > $height) {
	$xoord = ceil(($width-$height)/2);
	$width = $height;
} else {
	$yoord = ceil(($height-$width)/2);
	$height = $width;
}
		
//创建一个图片。接收参数分别为宽高,返回生成的资源句柄
$thumb = ImageCreatetruecolor(100,100);		//大图

//将源文件剪切全部域并缩小放到目标图片上。前两个为资源句柄 
ImageCopyResampled($thumb,$source,0,0,$xoord,$yoord,100,100,$width,$height);

//图片显示
ImageJPEG($thumb,'',100);
로그인 후 복사
로그인 후 복사

以上是图片剪切的过程,假定我可以直接通过$db->select|update|insert来操作数据库,请问我要如何完善上面的代码,把要上传的图片经过剪切后转换为2进制存入mysql数据库呢

虽然已经有人建议你不要存在数据库里了,不过如果你坚持的话,我还是告诉你实现方法吧,首先你要存图片的字段必须是blob格式的,假设你已经做好数据库方面的准备,在代码上你需要做如下改动

// 从最后一行开始, 用一个临时文件做中转
$tmp = '/tmp/' . md5(uniqid());
ImageJPEG($thumb, $tmp, 100);

// 把数据转换成一个字符串
$str = mysql_real_escape_string(file_get_contents($tmp));

// 这只是一个测试的sql,你可以自己修改
$sql = sprintf("INSERT INTO test (`blob_column`) VALUES ('%s')", $str);
mysql_query($sql);

// 别忘了把临时文件删掉
unlink($tmp);
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!