本文目录一览:
- 1、php图片路径没问题,为什么显示不出图片
- 2、PHP与透明旋转图像问题,怎么解决
- 3、php中imagepng函数无法显示图片,同样的代码,别人测试可以显示,而我的机子显示不出来
- 4、php文件可以输出图片却无法显示出来!
- 5、php图像存在错误显示不出来
php图片路径没问题,为什么显示不出图片
不只是图片,网页上的任何路径,都不要使用C:\............
之类的路径,你这种路径,表示是在本地磁盘C中的文件
但你的站点根目录是只能读取远程上的文件以及目录本身的文件,比如你的站点是设置在D:\www中,那么,网页就只能读取到D:\www中的文件,而不能读取到其他磁盘分区的文件
况且,你做的网站最终是要放到服务器上的,而服务器上的磁盘结构以及站点目录都和你本地不一样,那这种路径是不可能会读取到文件的
你应该使用意向几种路径:
/表示站点根目录
./表示当前目录
../表示上一级目录
当然,也可以使用http://方式
PHP与透明旋转图像问题,怎么解决
图片的旋转和翻转也是Web项目中比较常见的功能,但这是两个不同的概念,图片的旋转是按特定的角度来转动图片,而图片的翻转则是将图片的内容按特定的方向对调。
图片翻转需要自己编写函数来实现,而旋转图片则可以直接借助GD库中提供的imagerotate()函数完成。
php中imagepng函数无法显示图片,同样的代码,别人测试可以显示,而我的机子显示不出来
如果代码没有问题,那么就是环境搭建的问题了。
你们公司各自员工用的各自的系统?
这样不好吧, 与服务器的系统有差异,会导致一些意想不到的BUG。
php文件可以输出图片却无法显示出来!
经测试2种方式都可以正确显示,据估计,你的第2种方式不能正常显示的原因在于:
你在第2种方式里,除了 img 输出外,还有其它输出。
请参看下面的示例代码:
?php
// 创建新的图像实例
$im = imagecreatetruecolor(100, 100);
// 设置背景为白色
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);
//在图像上写字
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);
//echo "这一行如果加上就不能正常显示下面的图像了。br/";
// 输出图像到浏览器
header('Content-Type: image/gif');
imagegif($im);
imagedestroy($im);
?
为什么第 2 种方式,不能在header前面有内容,究其原因,请参看以下说明:
header()必须在任何实际输出之前调用,不管是普通的html标签,还是文件里面的空行、空格或者是PHP文件里的空行、空格。
简单一句话:在header()被调用之前有输出就会出错。
php图像存在错误显示不出来
看了代码后,有以下提示供参考:
1、从代码中,没有看到输出验证字符图像的代码。
2、建议编写类代码时,添加一个__construct构造函数,用于对上面的 $img 等重要参数进行初始化。
3、代码中生成验证字符的代码有些bug,会造成输出字符不足4个:
$this-code.=$this-charset[mt_rand(0, $_len)];
修正:
$this-code.=$this-charset[mt_rand(0, $_len-1)];
运行结果图:
附修改后示例代码,供参考: