STFPHP

STFPHP

这家伙有点懒,还没写个性签名!

  • 财富值3535
  • 威望值0
  • 总积分3675

个人信息

  • 2016-10-20 已签到
    连续签到15天,获得了20个金钱
  • 收藏了源码
    yii2底层源码分析
  • 提出了问题
    Yii2提供的缓存功能中数据都保存在哪里?
  • 回复了 的回答

    如果最后是通过yii框架默认的return渲染视图输出的,就是html头,因为header会覆盖。你尝试不用return,用echo

    好的,我试试。

  • 2016-10-19 已签到
    连续签到14天,获得了20个金钱
  • 2016-10-18 已签到
    连续签到13天,获得了20个金钱
  • 回复了 的回答
    1. 建议楼主查看 请求处理 -> 响应 相关内容 链接
    2. yii\web\Response::sendFile(): 发送一个已存在的文件到客户端。

    感觉Yii2在这方面做了优化的,改不了Content-Type,普通访问总是输出html。但是如果是在img 的src访问的话,会自动以图片的形式输出。

  • 2016-10-14 已签到
    连续签到9天,获得了20个金钱
  • 回复了 的回答
    1. 建议楼主查看 请求处理 -> 响应 相关内容 链接
    2. yii\web\Response::sendFile(): 发送一个已存在的文件到客户端。

    我不是打开图片,就是简单的用php函数画图,但是header( "Content-type: image/jpeg");这句没效果,输出的还是html。

  • 回复了 的回答

    输出图片,可以这样:

    $photo='图片路径.jpg';
    $size = getimagesize($photo); //获取mime信息
    $fp=fopen($photo, "rb"); //二进制方式打开文件
    header("Content-type: {$size['mime']}");
    fpassthru($fp); // 输出至浏览器
    exit;
    

    当然路径存在之类的判断你自己要做好,如果确定图片格式是jpeg,那么可以写死mime

    header( "Content-type: image/jpeg");
    $photo='图片路径.jpg';
    $fp=fopen($photo, "rb"); //二进制方式打开文件
    fpassthru($fp); // 输出至浏览器
    exit;
    

    我不是打开图片,就是简单的用php函数画图,但是header( "Content-type: image/jpeg");这句没效果,输出的还是html。

总监 等级规则
3675/5000
资料完整度
10/100
用户活跃度
0/100

Ta的关注

3

Ta的粉丝

6

Ta的访客

11