如何在php中返回包含图像内容的文件?

如何在php中返回包含图像内容的文件?,php,Php,所以我有一个php文件,它接收一个图像文件并返回一个图像文件。问题是,当我需要一个文件时,它返回一组字符。我该如何解决这个问题?对不起,我是新来的Php 所以我在标题中设置了内容类型,并使用这个方法imagejpeg($newImage) 未经测试,但这可能有效。它将初始化文件下载。如果你发布的代码是你自己的,你应该理解我添加的代码 <?php error_reporting(0); $newSize = $_POST['newSize']; if(empty($newSize)){

所以我有一个php文件,它接收一个图像文件并返回一个图像文件。问题是,当我需要一个文件时,它返回一组字符。我该如何解决这个问题?对不起,我是新来的Php

所以我在标题中设置了内容类型,并使用这个方法imagejpeg($newImage)


未经测试,但这可能有效。它将初始化文件下载。如果你发布的代码是你自己的,你应该理解我添加的代码

<?php
error_reporting(0);
$newSize = $_POST['newSize'];
if(empty($newSize)){
    header("Status: 400 Bad Request", true, 400);
    exit();
}
$extension = strtolower(strrchr($_FILES['image']['name'], '.'));
$imageInfo = getimagesize($_FILES['image']['tmp_name']);

switch($extension){
    case '.jpg':
    case '.jpeg':
        $image = imagecreatefromjpeg($_FILES['image']['tmp_name']);
        break;
    case '.gif':
        $image = imagecreatefromgif($_FILES['image']['tmp_name']);
        break;
    case '.png':
        $image = imagecreatefrompng($_FILES['image']['tmp_name']);
        break;
    default:
        header("Status: 400 Bad Request", true, 400);
        exit('');
}

$newImage = imagecreatetruecolor($newSize, $newSize);

header('Content-Type: '.$_FILES['image']['type']);
header('Content-Disposition: attachment; filename="image'.$extension.'"');

switch($extension){
    case '.jpg':
    case '.jpeg':
        imagejpg($newImage);
        break;
    case '.gif':
        imagegif($newImage);
        break;
    case '.png':
        imagepng($newImage);
        break;
}

if(empty($newImage) || empty($image)){
    header("Status: 400 Bad Request", true, 400);
    exit();
}

标题('Content-Type:image/jpeg')。。。。应该为你工作吗?否则请出示您的代码。张贴所有实际代码。编辑您的问题。设置正确的标题,然后
echo file\u get\u contents($filename)
@GordonM它不是文件系统中的文件。您到底想要什么?下载文件或浏览器中显示的图像?除此之外,它甚至无法工作,因为您只创建一个黑色图像,而不包含内容,您希望调整大小。你应该仔细阅读一些教程。重新考虑你提到的问题。在使用imagepng/jpg/gif等后,只需尝试设置
标题
<?php
error_reporting(0);
$newSize = $_POST['newSize'];
if(empty($newSize)){
    header("Status: 400 Bad Request", true, 400);
    exit();
}
$extension = strtolower(strrchr($_FILES['image']['name'], '.'));
$imageInfo = getimagesize($_FILES['image']['tmp_name']);

switch($extension){
    case '.jpg':
    case '.jpeg':
        $image = imagecreatefromjpeg($_FILES['image']['tmp_name']);
        break;
    case '.gif':
        $image = imagecreatefromgif($_FILES['image']['tmp_name']);
        break;
    case '.png':
        $image = imagecreatefrompng($_FILES['image']['tmp_name']);
        break;
    default:
        header("Status: 400 Bad Request", true, 400);
        exit('');
}

$newImage = imagecreatetruecolor($newSize, $newSize);

header('Content-Type: '.$_FILES['image']['type']);
header('Content-Disposition: attachment; filename="image'.$extension.'"');

switch($extension){
    case '.jpg':
    case '.jpeg':
        imagejpg($newImage);
        break;
    case '.gif':
        imagegif($newImage);
        break;
    case '.png':
        imagepng($newImage);
        break;
}

if(empty($newImage) || empty($image)){
    header("Status: 400 Bad Request", true, 400);
    exit();
}