Php 上传图像并制作水印

Php 上传图像并制作水印,php,watermark,Php,Watermark,我犯了什么错误?使用目录路径。。您的图像路径看起来像是混淆了。。目录路径没有http://localhost/。。请检查图像的两个路径。我用:$stamp=imagecreatefrompng('public_html/img/watermark.png')更改了它$im=imagecreatefromjpeg('public_html/upload/'。$imgs);但仍然不起作用请删除public\u html并检查。。如果结果将保持不变,请让我知道您的文件夹结构。!!它需要公开的html。

我犯了什么错误?

使用目录路径。。您的图像路径看起来像是混淆了。。目录路径没有
http://localhost/
。。请检查图像的两个路径。我用:$stamp=imagecreatefrompng('public_html/img/watermark.png')更改了它$im=imagecreatefromjpeg('public_html/upload/'。$imgs);但仍然不起作用请删除
public\u html
并检查。。如果结果将保持不变,请让我知道您的文件夹结构。!!它需要公开的html。我有Mvc,在Public_html文件夹中有imgs/css/js/upload文件夹。我用ajax提交,回答是:[屏幕]这是什么?提前谢谢这是图像的原始输出。。如果您尝试在文本编辑器中打开任何图像,它将如下所示。。好啊您是保存图像还是直接显示?如果保存,使用
imagepng($im,$img\u路径)
private function upload($name, $types){
        for($i = 0; $i < count($name); $i++){
            move_uploaded_file($types[$i], $this->_direction . $name[$i]);
            $this->waterMark($name[$i]);
        }
    }
private function waterMark($imgs){
        $stamp = imagecreatefrompng('http://localhost/public_html/img/watermark.png');
        $im = imagecreatefromjpeg('http://localhost/public_html/uploaded/' . $imgs);

        $marge_right = 10;
        $marge_bottom = 10;
        $sx = imagesx($stamp);
        $sy = imagesy($stamp);

        imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));

        header('Content-type: image/png');
        imagepng($im);
        imagedestroy($im);
    }