| 域名空间 下载中心 社区论坛 信息公告 MY小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
CGI教程(8)记录用户记录脚本之二http://www.iyit.net 日期:2006-6-12 2:06:00 来源: 点击: |
//以下是mas_res程序 #include "t99_type.h" #include #include #include #include #include #include #include #include "parse.h" #include "parse.cpp" #include "mas_cvo.cpp" void write_log_entry( char[], char[] ); void cgi_var_output(); char* getenv_n( char [] ); void gif_output( char [] ); int main() { char *query_str = getenv("QUERY_STRING"); Parse list( query_str == 0 ? (char*)"file=mas&page=Test&" : query_str ); if ( list.get_item( "file" ) != NULL ) { write_log_entry( list.get_item_n( "file", 1, true ), list.get_item_n( "page" ) ); } if ( list.get_item( "img" ) != NULL ) { gif_output( list.get_item_n("img", 1, true) ); } else { html("Content-type: text/html"); html(""); cgi_var_output(); // debug option } return 0; } void write_log_entry( char file[], char page[] ) { //cout << "File = [" << file << "] page = [" << page << "]" << "\n"; //cout.flush(); ofstream inf( file, ios::app ); //inf.open( file, ios::out ); if ( !inf.fail() ) { time_t t; time( &t); char *str = ctime( &t ); str[24] = '\0'; inf << setiosflags( ios::left ); inf << setw(24) << str << " " << setw(10) << (page!=NULL? page : (char*)"Unknown" ) << " " << setw(18) << getenv_n("REMOTE_ADDR") << " " << setw(20) << getenv_n("REMOTE_HOST") << "\n"; // setw(20) << getenv_n("REMOTE_USER") << "\n"; } } void gif_output( char gif[] ) { char square [] = { 'G', 'I', 'F', '8', '9', 'a', 0002, 0000, 0002, 0000, 0263, 0000, 0000, 0000, 0000, 0000, 0277, 0000, 0000, 0000, 0277, 0000, 0277, 0277, 0000, 0000, 0000, 0277, 0277, 0000, 0277, 0000, 0277, 0277, 0300, 0300, 0300, 0200, 0200, 0200, 0377, 0000, 0000, 0000, 0377, 0000, 0377, 0377, 0000, 0000, 0000, 0377, 0377, 0000, 0377, 0000, 0377, 0377, 0377, 0377, 0377, 0054, 0000, 0000, 0000, 0000, 0002, 0000, 0002, 0000, 0100, 0004, 0003, 0020, 0200, 0010, 0000, 0073 }; html("Content-type: image/gif"); html(""); if ( gif[0] != '\0' ) // 输出GIF文件 { ifstream in( gif ); if ( !in.fail() ) { char c; in.read( &c, 1 ); while ( !in.eof() ) { cout.write( &c, 1 ); in.read( &c, 1 ); } return; // 结束 } } cout.write( square, (int) sizeof( square ) ); } 当然,网页的浏览器必须是支持浏览图片以及装载图片的。几个不能装载图片的理由是: 浏览器不支持图片浏览; 用户已经取消对浏览图片的选项,因为要加块连接网络服务器的速度; 服务器件接收到返回图片的请求。 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:CGI教程(9)编写安全的CGI脚本 下一篇:CGI教程(8)记录用户记录脚本之一 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 最新更新 | 热点排行 | 推荐新闻 | |||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| 友情链接 | ||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||