php水印和保存图像

php水印和保存图像,php,Php,我试图添加一个水印的图像,然后保存到另一个文件与php的图像。这是我到目前为止的代码,但由于某些原因,水印没有出现在新目录中的图像上。 原始图像保存在路径$old\u path中,我想在应用水印后将其保存到$new\u path $old_path = "images_upload/".$name.".".$type; $new_path = "images_main/".$name.".".$type; ////////////////////water mark $m

我试图添加一个水印的图像,然后保存到另一个文件与php的图像。这是我到目前为止的代码,但由于某些原因,水印没有出现在新目录中的图像上。 原始图像保存在路径
$old\u path
中,我想在应用水印后将其保存到
$new\u path

    $old_path = "images_upload/".$name.".".$type;
    $new_path = "images_main/".$name.".".$type;
    ////////////////////water mark
$main_image = imagecreatefromstring(file_get_contents($old_path));

// Load the logo image
$logoImage = imagecreatefrompng("assets/watermark.png");
imagealphablending($logoImage, true);

// Get dimensions
$imageWidth=imagesx($main_image);
$imageHeight=imagesy($main_image);

$logoWidth=imagesx($logoImage);
$logoHeight=imagesy($logoImage); 

// Paste the logo
imagecopy(
   // source
   $main_image,
   // destination
   $logoImage,
   // destination x and y
   $imageWidth-$logoWidth, $imageHeight-$logoHeight,
   // source x and y
   0, 0,
   // width and height of the area of the source to copy
   $logoWidth, $logoHeight);
    ////////////////////////

    rename($old_path, $new_path);// save image

请告诉我我做错了什么。

您没有在任何地方输出图像。您需要输出它。您现在所做的就是将旧文件重命名为新文件


尝试使用
imagepng()
或与您的格式相当的格式

您没有在任何地方输出图像。您需要输出它。您现在所做的就是将旧文件重命名为新文件


尝试使用
imagepng()
或与您的格式相当的格式

您从不将
imagecopy
结果写入任何文件,只需将旧图像重命名为新路径-改用:


您从不将
imagecopy
结果写入任何文件,只需将旧图像重命名为新路径-改用:


我不想将图像回显到浏览器。我想在应用水印后将其从$old_path复制到$new_path。(因此$new_path中的新图像将具有水印)我测试了此函数不接受新文件路径的参数。现在应该如何生成新的图像文件?@gadget00当然可以,请参阅链接文档。我不想将图像回显到浏览器。我想在应用水印后将其从$old_path复制到$new_path。(因此$new_path中的新图像将具有水印)我测试了此函数不接受新文件路径的参数。现在应该怎么做才能生成新的图像文件?@gadget00当然可以,请参阅链接文档。我正在使用重命名功能复制图像。@user1481850,我想您不明白。使用
imagecopy
时,操作仅在内存中进行。在您选择保存之前,它们不会保存到文件中。请阅读我指给您的文档。我正在使用重命名函数复制图像。@user1481850,我想您不明白。使用
imagecopy
时,操作仅在内存中进行。在您选择保存之前,它们不会保存到文件中。阅读我指给你的文档。
 imagejpeg($logoImage, $new_path);