本文实例分析了PHP将图片保存入MysqL数据库失败的解决方法。分享给大家供大家参考。具体分析如下:
图片保存数据库并不是一个明智的做法,我们多半是把图片保存到服务器,然后把图片地址保存到数据库,这样我们每次只要读出图片地址就可以显示了,但下面我还是来介绍一个图片保存到MysqL数据库的问题解决办法,代码如下:
img
) values ('$img') ;");报错:
,Mo?'^WZ4in??T春??????U?楹\?' at line 1
代码如下:
继续报错,各种搜索,百度里的结果都是addslashes,要不就是addslashes也没有的,真是扯淡啊.
插入成功,图片文件17.0k,出来进行base64_decode,显示正常,找到个16进制的办法:
有效,输出不用解密,存入数据库很大 25K,比base64还坑爹呢,再找,后来,发现PHPmyadmin直接上传的图片文件可以用文件比base64的小,文件12.8k.
翻PHPmyadmin 源代码,common.lib.PHP文件183有个神奇的函数,代码如下:
if ($crlf) {
$a_string = str_replace("n",'n',$a_string);
$a_string = str_replace("r",'r',$a_string);
$a_string = str_replace("t",'t',$a_string);
}
if ($PHP_code) {
$a_string = str_replace(''','\'',$a_string);
} else {
$a_string = str_replace(''','''',$a_string);
}
return $astring;
} // end of the 'PMAsqlAddslashes()' function$img = PMA_sqlAddslashes($img);
文件大小12.8K 和PHPmyadmin的一样大.