使用Mason和PHP生成饭否图片插件
2010-04-16 20:18
405 查看
饭否的图片插件可用于论坛,博客,将用户的信息和一些最新动态用图片的形式表现出来。
我们如果需要自行开发此功能的话,需要设置某种格式(或某个地址)的图片采用脚本来处理。
在Perl中的话
例如可以使用Apache的LocationMatch或者FilesMatch指令来进行设置,让某个Perl模块来进行处理。
如果使用Mason的话,更为简单,不需要修改服务器,只需利用dhandler的特性,就可以让指定的脚本来处理。
基本流程如下:
![](http://hi.csdn.net/attachment/201004/20/0_1271765340flc1.gif)
主要代码如下:
PHP的话,大同小异,例如可以在Apache里或者.htaccess文件设置:
PHP代码如下所示:
此时我们访问r23_0.jpg就可以出现我们需要的图片,用户可以使用http://php.hfahe.cn/r23_0.jpg,http://php.hfahe.cn/r23_1.jpg来取得uid为23的用户的不同样式的图片插件。
我们如果需要自行开发此功能的话,需要设置某种格式(或某个地址)的图片采用脚本来处理。
在Perl中的话
例如可以使用Apache的LocationMatch或者FilesMatch指令来进行设置,让某个Perl模块来进行处理。
如果使用Mason的话,更为简单,不需要修改服务器,只需利用dhandler的特性,就可以让指定的脚本来处理。
基本流程如下:
![](http://hi.csdn.net/attachment/201004/20/0_1271765340flc1.gif)
主要代码如下:
my $uri = $r->uri; if($uri =~ /.jpg$/) { $uid = substr($uid, 1, -4); # 从uri里获得用户uid my $image_template_path = $m->callers(0)->source_dir. '/images/'; # 背景图片文件夹 my $username = User::getUserName($uid); $counter = ImageCreate::create($total, $username, $image_template_path); # 创建图像 $r->content_type('image/jpg'); $r->headers_out; print $counter; }
PHP的话,大同小异,例如可以在Apache里或者.htaccess文件设置:
<Directory /var/www/php.hfahe.cn> RedirectMatch ^/(.*)\.jpg$ /avatar.php?type=$1 </Directory>
PHP代码如下所示:
include ('lib/conn.php'); // 从参数取得用户id $input_param = $_GET["type"]; preg_match_all("|r(.*)_|U", $input_param, $preg_out); // 从数据库中取得用户昵称 $sql_string = "select username from user where id = " . $preg_out[1][0]; $result = mysql_db_query($mysql_database, $sql_string, $conn); $row = mysql_fetch_row($result); $user_nickname = $row[0]; header("content-type:image/jpeg"); // 新建一个图片宽119 高 126 像素 $background_image = imagecreatetruecolor(119, 126); // 取得文字颜色, RGB $background_color = imagecolorallocate($background_image, 250, 228, 130); // 读取我们的背景图片 $source_image = imagecreatefrompng('images/u0_2.png'); // 把背景图片 copy 到我们要输出的图片上 imagecopy($background_image, $source_image, 0, 0, 0, 0, 119, 126); // 使用支持中文的字体 $text_font = '/usr/share/fonts/vista/MSYH.TTF'; $text_size = 10; // 将用户昵称写到图片上 imagettftext($background_image, $text_size, 0, 8, 40, $background_color, $text_font, $user_nickname); // 输出 PNG 图片内容 imagejpeg($background_image); // 关闭之前使用的图片缓冲 imagedestroy($background_image); imagedestroy($simage);
此时我们访问r23_0.jpg就可以出现我们需要的图片,用户可以使用http://php.hfahe.cn/r23_0.jpg,http://php.hfahe.cn/r23_1.jpg来取得uid为23的用户的不同样式的图片插件。
相关文章推荐
- 使用Mason和PHP生成饭否图片插件
- 使用Mason和PHP生成饭否图片插件
- 使用Mason和PHP生成饭否图片插件
- 基于新浪sae使用php生成图片发布图文微博
- php使用二维码类库生成图片二维码
- PHP文件生成的图片无法使用CDN缓存的解决方法
- 使用PHP生成图片的缩略图的方法
- 在 PHP 里 使用 CKEditor 和 CKFinder 插件上传图片.
- php使用Imagick生成图片的方法
- php使用phpexcel生成excel包含图片并导出
- PHP文件生成的图片无法使用CDN缓存的解决方法
- 使用html2canvas插件在ie11下无法生成图片
- 使用gd库实现php服务端图片裁剪和生成缩略图功能分享
- 基于新浪sae使用php生成图片发布图文微博
- PHP使用内置函数生成图片的方法详解
- PHP生成word文件插件PHPWord使用介绍
- PHP 使用TCPDF插件生成pdf以及pdf的中文处理
- 使用PHP生成二维码带logo图像(不生成临时图片文件)
- 使用PHP实现生成固定大小图片缩略图功能(智能裁剪,图片不失真)
- django中使用uploadify等php的图片上传插件