php函数创建上传图像的拇指

时间:2012-06-13 08:18:31

标签: php

我创建了一个用随机名称上传图像的功能,它可以正常工作。

function f_upload($file_name, $path)
{
    $ext=end(explode('.', $file_name['name']));

    $f_name=rand().time().'.'.$ext;

    if(move_uploaded_file($file_name['tmp_name'], $path.$f_name))
    {
        return $f_name; 
    }
    else
    {
        return false;
    }
}

现在我想要的是在同一目录上创建宽度为75px的相同图像的拇指,但名称以t_imagename开头

我尝试这个功能,但它给出错误。

function f_upload_gallary($file_name, $path)
{
    $ext=end(explode('.', $file_name['name']));

    $f_name=rand().time().'.'.$ext;

    if(move_uploaded_file($file_name['tmp_name'], $path.$f_name))
    {

            $src=$path.$f_name;
            $desired_width=75;
            $dest=$path;
            $source_image = imagecreatefromjpeg($src);
            $width = imagesx($source_image);
            $height = imagesy($source_image);

            $desired_height = floor($height*($desired_width/$width));
            $virtual_image = imagecreatetruecolor($desired_width,$desired_height);
            imagecopyresized($virtual_image,$source_image,0,0,0,0,$desired_width,$desired_height,$width,$height);
            imagejpeg($virtual_image,$dest);


        return $f_name; 

    }
    else
    {
        return false;
    }
}

此功能无效。

我只是想在同一个文件夹上创建一个75的拇指,名称以 t _

开头

由于

1 个答案:

答案 0 :(得分:1)

您没有指定目标图片的文件名。替换此行,

$dest = $path;

用这个:

$dest = $path.'t_'.$f_name;