上传图片生成缩略图

imagecreatefromjpeg

(PHP 4, PHP 5, PHP 7)

imagecreatefromjpeg 由文件或 URL 创建一个新图象。

resource imagecreatefromjpeg ( string$filename )

imagecreatefromjpeg() 返回一图像标识符,代表了从给定的文件名取得的图像。

imagecopyresampled

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagecopyresampled 重采样拷贝部分图像并调整大小

源代码:

<?php
     $filename="uu.jpg";
     $filenames="44.jpg";
     $src_image=imagecreatefromjpeg($filename);
     list($src_w,$src_h)=getimagesize($filename);
     $scale=0.5;
      $dst_w=ceil($src_w*$scale);
      $dst_h=ceil($src_h*$scale);
      $dst_image=imagecreatetruecolor($dst_w, $dst_h);
      imagecopyresampled($dst_image,$src_image,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
      header("content-type:image/jpeg");
      imagejpeg($dst_image,"resizepic/".$filename);//$filename只是给目标图像的一个名字
      //从$dst_iamge图像,以$filename为文件夹创建一个jpeg图像
      imagedestroy($src_image);
      imagedestroy($dst_image);
?>

imagejpeg

(PHP 4, PHP 5, PHP 7)

imagejpeg 输出图象到浏览器或文件。


bool imagejpeg ( resource$image [, string$filename [, int$quality ]] )

imagejpeg()image 图像以filename 为文件名创建一个JPEG 图像。


image

由图象创建函数(例如imagecreatetruecolor())返回的图象资源。

filename

文件保存的路径,如果未设置或为 NULL,将会直接输出原始图象流。

如果要省略这个参数而提供 quality 参数,使用NULL。

quality

quality 为可选项,范围从 0(最差质量,文件更小)到 100(最佳质量,文件最大)。默认为 IJG 默认的质量值(大约 75)。

image_type_to_mime_type()

 函数可以判断一个 IMAGETYPE 常量的 MIME 类型。

MIME类型

每个MIME类型由两部分组成,前面是数据的大类别,例如声音audio、图象image等,后面定义具体的种类。
常见的MIME类型(通用型):
超文本标记语言文本 .html text/html
xml文档 .xml text/xml
XHTML文档 .xhtml application/xhtml+xml
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
PDF文档 .pdf application/pdf
Microsoft Word 文件 .word application/msword
PNG图像 .png image/png
GIF图形 .gif image/gif
JPEG图形 .jpeg,.jpg image/jpeg
au声音 文件 .au audio/basic
MIDI音乐 文件 mid,.midi audio/midi,audio/x-midi
RealAudio音乐 文件 .ra, .ram audio/x-pn-realaudio
MPEG 文件 .mpg,.mpeg video/mpeg
AVI 文件 .avi video/x-msvideo
GZIP 文件 .gz application/ x-gzip
TAR 文件 .tar application/x-tar

格式前面为后辍名,后面为对应的MIME型(例如:rar application/x-rar-compressed 表示。RAR对应的是application/x-rar-compressed )

{ ".323", "text/h323" },
{ ".3gp", "video/3gpp" },
{ ".aab", "application/x-authoware-bin" },
{ ".aam", "application/x-authoware-map" },
{ ".aas", "application/x-authoware-seg" },
{ ".acx", "application/internet-property-stream" },
{ ".ai", "application/postscript" },
{ ".aif", "audio/x-aiff" },
{ ".aifc", "audio/x-aiff" },
{ ".aiff", "audio/x-aiff" },
{ ".als", "audio/X-Alpha5" },
{ ".amc", "application/x-mpeg" },
{ ".ani", "application/octet-stream" },
{ ".apk", "application/vnd.android.package-archive" },
{ ".asc", "text/plain" },
{ ".asd", "application/astound" },
{ ".asf", "video/x-ms-asf" },
{ ".asn", "application/astound" },
{ ".asp", "application/x-asap" },
{ ".asr", "video/x-ms-asf" },
{ ".asx", "video/x-ms-asf" },
{ ".au", "audio/basic" },
{ ".avb", "application/octet-stream" },
{ ".avi", "video/x-msvideo" },
{ ".awb", "audio/amr-wb" },
{ ".axs", "application/olescript" },
{ ".bas", "text/plain" },
{ ".bcpio", "application/x-bcpio" },
{ ".bin ", "application/octet-stream" },等。

str_replace

(PHP 4, PHP 5, PHP 7)

str_replace 子字符串替换

说明

mixed str_replace ( mixed$search , mixed$replace , mixed$subject [, int&$count ] )

该函数返回一个字符串或者数组。该字符串或数组是将 subject 中全部的search 都被 replace 替换之后的结果。

如果没有一些特殊的替换需求(比如正则表达式),你应该使用该函数替换 ereg_replace()preg_replace()

参数

如果 search replace 为数组,那么 str_replace() 将对subject 做二者的映射替换。如果 replace 的值的个数少于search 的个数,多余的替换将使用空字符串来进行。如果 search 是一个数组而 replace 是一个字符串,那么 search 中每个元素的替换将始终使用这个字符串。该转换不会改变大小写。

如果 search replace 都是数组,它们的值将会被依次处理。

search

查找的目标值,也就是 needle。一个数组可以指定多个目标。

replace

search 的替换值。一个数组可以被用来指定多重替换。

subject

执行替换的数组或者字符串。也就是 haystack

如果 subject 是一个数组,替换操作将遍历整个 subject,返回值也将是一个数组。

count

如果被指定,它的值将被设置为替换发生的次数。

多种类型图片缩略图

<?php
     $filename="uu.jpg";
     list($src_w,$src_h,$imagetype)=getimagesize($filename);
     $MIME=image_type_to_mime_type($imagetype);
     $createim=str_replace("/","createfrom",$MIME);
     $src_image=$createim($filename);

     $inputimg=str_replace("/",null,$MIME);
     $dst_200_image=imagecreatetruecolor(200,300);
     $dst_300_image=imagecreatetruecolor(300,400);
     $dst_400_image=imagecreatetruecolor(400,500);
     imagecopyresampled($dst_200_image,$src_image,0,0,0,0,200,300,$src_w,$src_h);
     imagecopyresampled($dst_300_image,$src_image,0,0,0,0,300,400,$src_w,$src_h);
     imagecopyresampled($dst_400_image,$src_image,0,0,0,0,400,500,$src_w,$src_h);
      header("content-type:$MIME");
     $inputimg($dst_200_image,"resizepic/image_200/".$filename);
     $inputimg($dst_300_image,"resizepic/image_300/".$filename);
     $inputimg($dst_400_image,"resizepic/image_400/".$filename);
     imagedestroy($src_image);
     imagedestroy($dst_200_image);
     imagedestroy($dst_300_image);
     imagedestroy($dst_400_image);



?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值