Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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将文本水印放入jpg图像_Php_Watermark - Fatal编程技术网

使用php将文本水印放入jpg图像

使用php将文本水印放入jpg图像,php,watermark,Php,Watermark,我尝试用php将一些文本放到一个图像中,我已经用这段代码做了尝试 $jjj = "drag_drop/server/php/files/QBicmbmf78c4qi2kedvhlvlnn8cjn0/UWBR3105.jpg"; $im = imagecreatefromjpeg($jjj); $estampa = imagecreatetruecolor(210, 70);

我尝试用php将一些文本放到一个图像中,我已经用这段代码做了尝试

$jjj = "drag_drop/server/php/files/QBicmbmf78c4qi2kedvhlvlnn8cjn0/UWBR3105.jpg";

                        $im = imagecreatefromjpeg($jjj);
                        $estampa = imagecreatetruecolor(210, 70);
                        imagefilledrectangle($estampa, 0, 0, 210, 69, 0x0000FF);
                        imagefilledrectangle($estampa, 9, 9, 200, 60, 0xFFFFFF);                            
                        imagestring($estampa, 5, 20, 20, 'TheTexr', 0xff0000);

                        $margen_dcho = 10;
                        $margen_inf = 10;
                        $sx = imagesx($estampa);
                        $sy = imagesy($estampa);

                        imagecopymerge($im, $estampa, imagesx($im) - $sx - $margen_dcho, imagesy($im) - $sy - $margen_inf, 0, 0, imagesx($estampa), imagesy($estampa), 40);

                        imagepng($im, "drag_drop/server/php/files/QBicmbmf78c4qi2kedvhlvlnn8cjn0/");
                        imagedestroy($im);
但在任何时候我都会犯这样的错误:

Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error


并且不会生成图像,有什么帮助吗?

错误消息是明确的。php不认为它是jpeg。也许可以在从getimagesize返回的数组中查询mime的值?jpeg的值为image/jpeg。此外,imagepng调用不提供文件名,只提供一个目录。当我用一个jpeg和一个imagepng文件名运行这段代码时,我得到了一个很好的结果

我用我在paint.net中创建的一个jpeg进行了尝试,但出乎意料的是,它失败了。getimagesize[mime]返回png。这可能是一个用户错误,mime和扩展不匹配,但它引发了错误


底线:如果php不认为它是jpeg,它将返回一个错误。

我猜这不是一个有效的jpeg文件。是的,它是一个jpeg文件。。。应该认为微软的产品没有遵守standards@JavierLarrouletpaint.net是与Microsoft paint不同的产品。说实话,很可能是我的用户错误导致了mime/扩展不匹配。我不知道。。。我只是让自己对绘画和.net都有偏见,把它们放在一起听上去是这样的:
Warning: imagecreatefromjpeg(): 'drag_drop/server/php/files/QBicmbmf78c4qi2kedvhlvlnn8cjn0/UWBR3105.jpg' is not a valid JPEG file