您尚未登录,请登录后浏览更多内容! 登录 | 加入最MC

QQ登录

只需一步,快速开始

 找回密码
 加入最MC

QQ登录

只需一步,快速开始

查看: 2446|回复: 1

[PHP教程]通过Header输出图片

[复制链接]
  • TA的每日心情
    开心
    2017-9-3 16:08
  • 签到天数: 286 天

    [LV.8]以坛为家I

    发表于 2016-11-14 22:43:57 | 显示全部楼层 |0人打赏|阅读模式
    不说话,放代码
    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

    评分

    参与人数 1人气 +1 MC币 +10 收起 理由
    NFC_Yan + 1 + 10 唉哟不错哟!

    查看全部评分

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    您需要登录后才可以回帖 登录 | 加入最MC

    本版积分规则