Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP修改图像并将其发送到浏览器_Php_Image - Fatal编程技术网

使用PHP修改图像并将其发送到浏览器

使用PHP修改图像并将其发送到浏览器,php,image,Php,Image,我很感激你对这种方法的想法 我有一个页面,上传一个用户给出的图片,并在保存到数据库后显示。现在非常简单,所以我希望用户能够根据自己的意愿修改这些图片,因此我决定使用php为这些图片添加过滤器。现在,在将这些图像上传到数据库之前,我希望用户看到添加过滤器后图像的预览 我提出的解决方案是使用表单将图像发送到php文件,使用POST将图像发送到AJAX,并执行所有必要的检查,以确定文件是否安全。创建新图像并添加过滤器,然后将其转换为base 64并发送回浏览器,并使用数据URL显示 比如: &l

我很感激你对这种方法的想法

我有一个页面,上传一个用户给出的图片,并在保存到数据库后显示。现在非常简单,所以我希望用户能够根据自己的意愿修改这些图片,因此我决定使用php为这些图片添加过滤器。现在,在将这些图像上传到数据库之前,我希望用户看到添加过滤器后图像的预览

我提出的解决方案是使用表单将图像发送到php文件,使用POST将图像发送到AJAX,并执行所有必要的检查,以确定文件是否安全。创建新图像并添加过滤器,然后将其转换为base 64并发送回浏览器,并使用数据URL显示

比如:

   <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4/8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot">  


这是个好主意还是有什么我应该担心的

Base-64编码增加了大约33%的开销。因此,通常最好以二进制形式提供图像

您可以使用PHP脚本轻松地完成此操作

header('Content-Type: image/png');
echo $yourImageData;
然后在HTML中:

<img src="yourPHPScript.php?id=12345" />

您好,我们有一个库,实际上,我们利用GD库来实现我们想要的正确图像输出,您可以在这里查看有关我们图像库的更多信息。。顺便说一句,我们的库不仅仅包含图像库。。它有很多有用的库,你可以在你的项目中使用,我们将其开源

将图像保存到数据库中不是一个好主意,几个月后图像会变得非常沉重和缓慢。将其上载到文件夹,并始终保存原始版本和最近修改的版本,以防您想将原始版本提供给用户。并且仍然可以通过Javascript修改它。@eddwinpaz在某些特殊情况下,它是可以的。。。你只需要知道你在做什么,权衡利弊。例如,MongoDB之上的GridFS非常适合在服务器之间复制文件和类似文件的二进制对象。当然,你不会把你的常规数据和它混在一起…@addwhinpaz当然我知道..当我说“保存在数据库中”时,我不是指实际的图像:)谢谢你的回复。我会找到更多关于这个的