php图片header
① php header头文件写在哪在html文件里还是在哪里
你说的header头文件是只网页布局的header部分么?理论上来说,如果全静态的话,放在html里面也可以。但是通常是放在php文件里的,里面也包含html内容,因为这部分通常会输出一些动态内容,如用户名等等。
② php读取MYSQL数据库中的longblob字段(图片)并输出到浏览器端。
要做为图片输出需要设置header就可以了,在上传图片的时候最好记录一下图片类型,大小。
<?php
//从数据库读,这里就不具体写了
$row=DataClass::query("select*fromimageswhereid=$id");
header('Content-type:'.$row['type']);
header('Content-Length:'.$row['size']);
header("Content-Transfer-Encoding:binary");
ob_clean();//防止php将utf8的bom头输出
echo$row['content'];//直接输出longblob字段的内容
③ PHP中使用header("Content-type: image/gif")无效
这不是你的配置问题,你要明确一点,只要是你使用了header("Content-type: image/gif");那么这个网页就是以gif图片的形式输出的,如果你在页面中添加了其它内容,比如HTML代码,或者有echo输出,那么就会导致网页无法正常识别,从而导致乱码的出现!因为网页已经是默认的图片格式,它的整个网页就已经相当于是一张图片了,你再去输入其它的东西必然是会乱码的。一般来说,由PHP生成的图片都是单独存一个网页,其它页要调用这个图片的时候,只需设置一个<img src="生成图片的网页">就行了!
④ PHP中的Header( "Content-type: image/gif")输出的图片会不会占用服务器的硬盘
Header( "Content-type: image/gif") 这个只是头文件 告诉页面是 图片格式 显示 不占用服务器资源, 但是有PHP程序绘制的图像 比如验证码,是会占用资源的,执行程序都会站资源
⑤ 关于PHP 显示图片问题 header("content-type: image/jpeg");
上面空出的这一行相当于输出了,不正确的,后面还有header,header前面是不能有任何输出的
⑥ php生成图片,网页上显示一堆乱码,哪里设置错了,求大神啊!
给你这个代码用吧
我给你改好了
<?php
session_start();
header("content-type:image/png");//设置创建图像的格式
$image_width=70;//设置图像宽度
$image_height=18;//设置图像高度
srand(microtime()*100000);//设置随机数的种子
for($i=0;$i<4;$i++){//循环输出一个4位的随机数
$new_number.=dechex(rand(0,15));
}
$_SESSION['code']=$new_number;//将获取的随机数验证码写入到SESSION变量中
$num_image=imagecreate($image_width,$image_height);//创建一个画布
imagecolorallocate($num_image,255,255,255);//设置画布的颜色
for($i=0;$i<strlen($_SESSION['code']);$i++){//循环读取SESSION变量中的验证码
$font=mt_rand(3,5);//设置随机的字体
$x=mt_rand(1,8)+$image_width*$i/4;//设置随机字符所在位置的X坐标
$y=mt_rand(1,$image_height/4);//设置随机字符所在位置的Y坐标
$color=imagecolorallocate($num_image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));//设置字符的颜色
imagestring($num_image,$font,$x,$y,$_SESSION['code'][$i],$color);//水平输出字符
}
imagepng($num_image);//生成PNG格式的图像
imagedestroy($num_image);//释放图像资源
?>