PHP - 使用imagepng的脚本不会保存文件然后显示它

时间:2014-10-26 08:13:49

标签: php image

我正在尝试加载图像,编辑图像,保存图像,然后从IMG标记内调用的脚本中显示图像。如果我只想显示图像并且它确实保存图像,则该脚本有效。但它不会保存它然后显示它。有谁知道我做错了什么?任何帮助将不胜感激。

<?php
    header('Content-Type: image/png');
    $file_location = "test.png";
    if (file_exists($file_location)) {
        $img_display = @imagecreatefrompng($file_location);

        // This section of code removed as doesn't affect result

        imagepng($img_display, $file_location);
        chmod($file_location, 0777);
        imagepng($img_display);
        imagedestroy($img_display);
    }
?>

2 个答案:

答案 0 :(得分:0)

尝试此操作并检查您的文件夹是否有权保存图像。 chmod 777肯定会。

<?php
    header('Content-Type: image/png');
    $file_location = "test.png";
    if (file_exists($file_location)) {
        $img_display = imagecreatefrompng($file_location); // Create PNG image
        $filename = $file_location + time(); // Change the original name
        imagepng($img_display, $filename);   // Saves it with another name
        imagepng($filename);                 // Sends it to the browser
        imagedestroy($img_display);          // Destroy the first image
        imagedestroy($filename);          // Destroy the second image
    } 

答案 1 :(得分:-1)

试试这个:

ob_start();
imagepng($img_display);
$contents = ob_get_clean();
file_put_contents($file_location, $contents);
echo $contents;
imagedestroy($img_display);