在php中上载动态创建的图像

在php中上载动态创建的图像,php,Php,实现:调整上传图像的大小并保存到文件系统 --假设正在上载一个1600x1024图像,所需的尺寸为500x300。因此,我找到的解决方案是在上传时调整图像大小。代码片段如下所示: <?php if(isset($_FILES['image'])){ //print_r($_FILES); die; $file = $_FILES['image']; //print_r($file); die; $filename = rand().time().'

实现:调整上传图像的大小并保存到文件系统

--假设正在上载一个1600x1024图像,所需的尺寸为500x300。因此,我找到的解决方案是在上传时调整图像大小。代码片段如下所示:

<?php 

if(isset($_FILES['image'])){
    //print_r($_FILES); die;

    $file = $_FILES['image'];

    //print_r($file); die;

    $filename = rand().time().'.'.end(explode('.', $file['name']));

    //echo $filename; die;

    if(move_uploaded_file('"image.php?filename='.$file['tmp_name'].'"', 'uploads/'.$filename)){
        echo 'Uploaded '.$filename.' !';
    }else{
        echo 'Not Uploaded';
    }
}

?>

<form method="POST" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>">
    <input type="file" name="image">
    <input type="submit" value="Upload"/>
</form>

您需要使用以下函数之一保存图像:、、等。如果将第二个参数设置为
null
,原始图像流将直接输出。您需要在那里指定图像路径

imagejpeg($image_p, 'new-image.jpg', 100);

如果要自动检测图像类型,可以使用来提取图像。

需要使用以下函数之一保存图像:、、等。如果将第二个参数设置为
null
,则将直接输出原始图像流。您需要在那里指定图像路径

imagejpeg($image_p, 'new-image.jpg', 100);

如果要自动检测图像类型,可以使用来提取它。

可以在已使用image.php的相同函数或其他文件上使用。 我在同一个函数上添加了一些代码,正在为我工作,请为您检查

if(isset($_FILES['image']))
{
    //print_r($_FILES); die;

    $file = $_FILES['image'];

    //print_r($file); die;

    $filename = rand().time().'.'.end(explode('.', $file['name']));

    //echo $filename; die;

    if(move_uploaded_file('"image.php?filename='.$file['tmp_name'].'"', 'uploads/'.$filename)){
        echo 'Uploaded '.$filename.' !';

        //once your file is uploaded you converting on same image

          $filenameNew = $_GET['filename'];

        // Get new dimensions
        list($width, $height) = getimagesize($filename);

        $new_width = 500;
        $new_height = 200;

        // Resample
        $image_p = imagecreatetruecolor($new_width, $new_height);
        $image = imagecreatefromjpeg($filename);
        imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

        // Content type
        header('Content-Type: image/jpeg');

        //store path
        $imageName=rand().time()."test.jpg";
        $imagestore="uploads/".$imageName;

        // Output
        imagejpeg($image_p,$imagestore,100);

    }else{
        echo 'Not Uploaded';
    }

}

您可以在已经使用image.php的相同函数或其他文件上使用。 我在同一个函数上添加了一些代码,正在为我工作,请为您检查

if(isset($_FILES['image']))
{
    //print_r($_FILES); die;

    $file = $_FILES['image'];

    //print_r($file); die;

    $filename = rand().time().'.'.end(explode('.', $file['name']));

    //echo $filename; die;

    if(move_uploaded_file('"image.php?filename='.$file['tmp_name'].'"', 'uploads/'.$filename)){
        echo 'Uploaded '.$filename.' !';

        //once your file is uploaded you converting on same image

          $filenameNew = $_GET['filename'];

        // Get new dimensions
        list($width, $height) = getimagesize($filename);

        $new_width = 500;
        $new_height = 200;

        // Resample
        $image_p = imagecreatetruecolor($new_width, $new_height);
        $image = imagecreatefromjpeg($filename);
        imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

        // Content type
        header('Content-Type: image/jpeg');

        //store path
        $imageName=rand().time()."test.jpg";
        $imagestore="uploads/".$imageName;

        // Output
        imagejpeg($image_p,$imagestore,100);

    }else{
        echo 'Not Uploaded';
    }

}

if(move_uploaded_file('"image.php?filename='.$file['tmp_name'].'"', 'uploads/'.$filename)){
    echo 'Uploaded '.$filename.' !';
}else{
    echo 'Not Uploaded';
}

if(move_uploaded_file('"image.php?filename='.$file['tmp_name'].'"', 'uploads/'.$filename)){
    echo 'Uploaded '.$filename.' !';
}else{
    echo 'Not Uploaded';
}


我认为您应该使用
file\u get\u contents()
将该保存文件链接到您的目录。我认为您应该使用
file\u get\u contents()
将该保存文件链接到您的目录。file\u get\u contents(image.php?filename=/opt/lampp/temp/phpxOgXwe):无法打开流:在/opt/lampp/htdocs/test/image/rt中没有这样的文件或目录。php@Sanjeev您必须在这一行提供正确的路径
$resized_file=“image.php?filename=”.$file['tmp_name']
@Sanjeev可能是
$resized_file=“image.php?filename=”.$file['name']工作正常。GET参数用于创建具有自定义大小的图像,因此该参数必须是上载图像的临时位置file@Sanjeev先上传文件,然后调整其大小。file_get_内容(image.php?filename=/opt/lampp/temp/phpxOgXwe):无法打开流:在/opt/lampp/htdocs/test/image/rt中没有这样的文件或目录。php@Sanjeev您必须在这一行提供正确的路径
$resized_file=“image.php?filename=”.$file['tmp_name']
@Sanjeev可能是
$resized_file=“image.php?filename=”.$file['name']工作正常。GET参数用于创建具有自定义大小的图像,因此该参数必须是上载图像的临时位置file@Sanjeev先上传文件,然后调整大小。