作为程序员一定要保持良好的睡眠,才能好编程

php图片相关函数及封装

发布时间:2018-08-28




php封装函数

function outputImage($file, $imageInfo, $filePath) {
  switch ($imageInfo['type']) { //imagetypes
    case IMAGETYPE_GIF:
      imagegif($file, $filePath);
      break;
    case IMAGETYPE_JPEG:
      imagejpeg($file, $filePath, 100);
      break;
    case IMAGETYPE_PNG:
      imagepng($file, $filePath);
      break;
  }
}


function openImage($file, $imageInfo) {
  $im = NULL;
  switch ($imageInfo['type']) { //imagetypes
    case IMAGETYPE_GIF:
      $im = imagecreatefromgif($file);
      break;

    case IMAGETYPE_JPEG:
      $im = imagecreatefromjpeg($file);
      break;
    case IMAGETYPE_PNG:
      $im = imagecreatefrompng($file);
      break;
  }
  return $im;
}


function mgetImageSize($input) {
  if ($info = getimagesize($input)) { //exif_imagetype
    return ['width' => $info[0], 'height' => $info[1], 'type' => $info[2], 'mime' => $info['mime']];
  } else return FALSE;
}



//下载远程图片

function download_img($url, $filename) {
  $file_path = dirname(__DIR__) . DIRECTORY_SEPARATOR . 'biaoqing' . DIRECTORY_SEPARATOR . $filename;
  $rh = fopen($url, 'rb');
  $wh = fopen($file_path, 'wb');
  if ($rh === FALSE || $wh === FALSE) {
    return FALSE;
  }

  while (!feof($rh)) {
    if (fwrite($wh, fread($rh, 1024)) === FALSE) {
      // 'Download error: Cannot write to file ('.$file_target.')';
      return TRUE;
    }
  }
  fclose($rh);
  fclose($wh);
  return $file_path;
}









//获取请求中url字符替换

function getRequestQuery($unsetParam = []) {
  $url = $_SERVER['QUERY_STRING'];
  parse_str($url, $urlResult);
  if (isset($urlResult['showpic']))
    unset($urlResult['showpic']);
  foreach ($unsetParam as $item) {
    if (isset($urlResult[$item]))
      unset($urlResult[$item]);
  }

  $urlResult['showpic'] = 1;
  return http_build_query($urlResult);
}