如何使用PHP上传不同文件夹中不同大小的同一文件?

时间:2014-07-18 07:54:58

标签: javascript php jquery ajax

上传一张图片并插入同名,不同尺寸和不同文件夹的2image

第一个文件夹是user_data,另一个是mid_image。

我的PHP代码在这里。

function photo_gallery()
    {
        global $obj;

        $image_id1 =$_REQUEST['image_id'];
        if($image_id1 ==0)
        {
            if($_FILES['file']['size'] > 0)
            {
                    $ext = explode('.',$_FILES['file']['name']);
        $image_type = $ext[count($ext) - 1];

                $img = date('dmYhis').'.'.$image_type;
                $image_full_path = (IMAGE_BASE_URL.'/'.$img);
                move_uploaded_file($_FILES['file']['tmp_name'],'user_data/'.$img);
                $get_image_size = getimagesize('user_data/'.$img);
            }

        $s=mysql_query("select image_id from photo_gallery ORDER BY image_id DESC");
        $r=mysql_fetch_array($s);       
        $sql_data_array = array('image_name'=>$img,
                                'image_status'=>$image_status,
                                'image_type'=>$image_type,
                                'image_url'=>$image_full_path,
                                'image_dimensions'=>$get_image_size[0].' x '. $get_image_size[1],
                                'image_created_date'=>'now()');
        $obj->Insert('photo_gallery',$sql_data_array);
        $_SESSION['success']="image inserted successfully";
        header('location:multiple.php');

    }
}

1 个答案:

答案 0 :(得分:1)

将主图像上传到一个根文件夹中,并以不同的大小调用以下函数两次。希望这会有所帮助。

function createThumbs( $pathToImages, $pathToThumbs, $new_height, $new_width, $filename ) 
{
  $info = pathinfo($pathToImages . $filename);
  if ( strtolower($info['extension']) == 'jpg' ) 
  $img = imagecreatefromjpeg( "{$pathToImages}" );
  if ( strtolower($info['extension']) == 'gif' ) 
  $img = imagecreatefromgif( "{$pathToImages}" );
  if ( strtolower($info['extension']) == 'png' ) 
  $img = imagecreatefrompng( "{$pathToImages}" );
  $width = imagesx( $img );
  $height = imagesy( $img );
  $tmp_img = imagecreatetruecolor( $new_width, $new_height );
  imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );
  if ( strtolower($info['extension']) == 'jpg' ) 
  imagejpeg( $tmp_img, "{$pathToThumbs}{$filename}" );
  if ( strtolower($info['extension']) == 'gif' ) 
  imagegif( $tmp_img, "{$pathToThumbs}{$filename}" );
  if ( strtolower($info['extension']) == 'png' ) 
  imagepng( $tmp_img, "{$pathToThumbs}{$filename}" );
}

感谢。