最MC论坛

标题: [PHP教程]通过Header输出图片 [打印本页]

作者: Jianghao7172    时间: 2016-11-14 22:43
标题: [PHP教程]通过Header输出图片
不说话,放代码
  1. <?php
  2. /*****************************************************************
  3. *                                                                *
  4. *                       图片加载显示模块                         *
  5. *                                                                *
  6. *****************************************************************/       
  7. if($_GET["type"]){//如果传递了type
  8.         if($_GET["id"]){//如果传递了id
  9.                 switch($_GET["type"])//判断type的值
  10.                 {
  11.                         case "jpg"://如果是jpg格式
  12.                         $file_dir = "./jpg/";//设定文件夹
  13.                         $file_name=$_GET["id"].".jpg";//要加载的图片文件名
  14.                         if(!file_exists($file_dir . $file_name))//判断是否存在
  15.                                 {
  16.                                         $file_dir = "./";//设定文件夹
  17.                                         $file_name="404.jpg";//要加载的图片文件名
  18.                                         $file = fopen($file_dir . $file_name,"r");//使用fopen函数打开文件
  19.                                         header('Content-type: image/jpeg');//Header头部信息为jpeg格式
  20.                                         header('Content-Disposition: inline; filename='.$_GET["id"].'.jpg');//设定访问文件名以及加载形式
  21.                                         echo fread($file,filesize($file_dir . $file_name));  //读取文件并输出到浏览器
  22.                                         fclose($file);//关闭文件以释放系统资源
  23.                                 }
  24.                         else
  25.                                 {
  26.                                         $file = fopen($file_dir . $file_name,"r");//使用fopen函数打开文件
  27.                                         header('Content-type: image/jpeg');//Header头部信息为jpeg格式
  28.                                         header('Content-Disposition: inline; filename='.$_GET["id"].'.jpg');//设定访问文件名以及加载形式
  29.                                         echo fread($file,filesize($file_dir . $file_name));  //读取文件并输出到浏览器
  30.                                         fclose($file);//关闭文件以释放系统资源
  31.                                 }
  32.                         break;
  33.        
  34.                         case "png"://如果是png格式
  35.                         $file_dir = "./png/";//设定文件夹
  36.                         $file_name=$_GET["id"].".png";//要加载的图片文件名
  37.                         if(!file_exists($file_dir . $file_name))//判断是否存在
  38.                                 {
  39.                                         $file_dir = "./";//设定文件夹
  40.                                         $file_name="404.jpg";//要加载的图片文件名
  41.                                         $file = fopen($file_dir . $file_name,"r");//使用fopen函数打开文件
  42.                                         header('Content-type: image/jpeg');//Header头部信息为jpeg格式
  43.                                         header('Content-Disposition: inline; filename='.$_GET["id"].'.jpg');//设定访问文件名以及加载形式
  44.                                         echo fread($file,filesize($file_dir . $file_name));  //读取文件并输出到浏览器
  45.                                         fclose($file);//关闭文件以释放系统资源
  46.                                 }
  47.                         else
  48.                                 {
  49.                                         $file = fopen($file_dir . $file_name,"r");//使用fopen函数打开文件
  50.                                         header('Content-type: image/png');//Header头部信息为jpeg格式
  51.                                         header('Content-Disposition: inline; filename='.$_GET["id"].'.png');//设定访问文件名以及加载形式
  52.                                         echo fread($file,filesize($file_dir . $file_name));  //读取文件并输出到浏览器
  53.                                         fclose($file);//关闭文件以释放系统资源
  54.                                 }
  55.                         break;
  56.        
  57.                         case "gif"://如果是gif格式
  58.                         $file_dir = "./gif/";//设定文件夹
  59.                         $file_name=$_GET["id"].".gif";//要加载的图片文件名
  60.                         if(!file_exists($file_dir . $file_name))//判断是否存在
  61.                                 {
  62.                                         $file_dir = "./";//设定文件夹
  63.                                         $file_name="404.jpg";//要加载的图片文件名
  64.                                         $file = fopen($file_dir . $file_name,"r");//使用fopen函数打开文件
  65.                                         header('Content-type: image/jpeg');//Header头部信息为jpeg格式
  66.                                         header('Content-Disposition: inline; filename='.$_GET["id"].'.jpg');//设定访问文件名以及加载形式
  67.                                         echo fread($file,filesize($file_dir . $file_name));  //读取文件并输出到浏览器
  68.                                         fclose($file);//关闭文件以释放系统资源
  69.                                 }
  70.                         else
  71.                                 {
  72.                                         $file = fopen($file_dir . $file_name,"r");//使用fopen函数打开文件
  73.                                         header('Content-type: image/gif');//Header头部信息为jpeg格式
  74.                                         header('Content-Disposition: inline; filename='.$_GET["id"].'.gif');//设定访问文件名以及加载形式
  75.                                         echo fread($file,filesize($file_dir . $file_name));  //读取文件并输出到浏览器
  76.                                         fclose($file);//关闭文件以释放系统资源
  77.                                 }
  78.                         break;
  79.        
  80.                         default://如果都不是
  81.                         $file_dir = "./";//设定文件夹
  82.                         $file_name="404.jpg";//要加载的图片文件名
  83.                         $file = fopen($file_dir . $file_name,"r");//使用fopen函数打开文件
  84.                         header('Content-type: image/jpeg');//Header头部信息为jpeg格式
  85.                         header('Content-Disposition: inline; filename='.$_GET["id"].'.jpg');//设定访问文件名以及加载形式
  86.                         echo fread($file,filesize($file_dir . $file_name));  //读取文件并输出到浏览器
  87.                         fclose($file);//关闭文件以释放系统资源
  88.                         break;
  89.                 }
  90.                 }
  91.         else
  92.                 {
  93.                         $file_dir = "./";//设定文件夹
  94.                         $file_name="404.jpg";//要加载的图片文件名
  95.                         $file = fopen($file_dir . $file_name,"r");//使用fopen函数打开文件
  96.                         header('Content-type: image/jpeg');//Header头部信息为jpeg格式
  97.                         header('Content-Disposition: inline; filename='.$_GET["id"].'.jpg');//设定访问文件名以及加载形式
  98.                         echo fread($file,filesize($file_dir . $file_name));  //读取文件并输出到浏览器
  99.                         fclose($file);//关闭文件以释放系统资源
  100.                 }
  101.         }
  102. else
  103.         {
  104.                 $file_dir = "./";//设定文件夹
  105.                 $file_name="404.jpg";//要加载的图片文件名
  106.                 $file = fopen($file_dir . $file_name,"r");//使用fopen函数打开文件
  107.                 header('Content-type: image/jpeg');//Header头部信息为jpeg格式
  108.                 header('Content-Disposition: inline; filename='.$_GET["id"].'.jpg');//设定访问文件名以及加载形式
  109.                 echo fread($file,filesize($file_dir . $file_name));  //读取文件并输出到浏览器
  110.                 fclose($file);//关闭文件以释放系统资源
  111.         }
  112. ?>
复制代码
你先新建一个叫做image的(其他也可以,这只是例子)文件夹,把这段PHP放进这个文件夹里的index.php里
然后分别在image文件夹里新建名为jpg、png和gif文件夹
然后,把一张叫做404.jpg的图片放在image文件夹下
你就可以把图片按照格式放在不同的文件夹下
比如jpg格式的就放在 image/jpg
png就是 image/png
gif就是 image/gif
以后你就可以访问http://你的网址/image/?id=图片名字&type=图片格式
试试?这样就会显示图片了~
示范:http://www.tcotp.cn/image/?id=huaji&type=jpg

作者: 燃烧    时间: 2016-11-15 00:27
全是滑稽




欢迎光临 最MC论坛 (http://www.zuimc.com/) Powered by Discuz! X3.2