如何才能提供实际图像?
file_put_contents($url,$image);
大小和名称正确发布到目录,但图像显示为已损坏。我需要编码或解码吗?
为了通知您,$ image来自以下内容:
ob_start();
echo imagejpeg($image,null,30);
$image = ob_get_clean();
ob_end_clean();
$image = addslashes($image);
$ image已成功发布到mysql,但我一直在努力将其放入目录。
答案 0 :(得分:1)
imagejpeg()
将图像输出到输出缓冲区。您正在使用echo imagepeg()
输出图像,然后立即回显函数调用的true/false
返回值。
此外,您通过执行以下操作来破坏您的图片:$image = addslashes($image);
,我想这是为了您的数据库的利益。
您需要的是
ob_start();
imagejpeg($image,null,30);
$image = ob_get_clean();
file_put_contents($url,$image);
我不明白为什么要将图像存储在文件系统中的数据库和中。文件系统应该足够好:存储路径&数据库中的文件名。
如果您觉得必须将图片添加到数据库中,请不要使用addslashes()
,但要使用您正在使用的API提供的功能将其转义,您要执行查询的点。您最好使用预准备语句,以便不必转义数据。