【VC++开源代码栏目提醒】:网学会员鉴于大家对VC++开源代码十分关注,论文会员在此为大家搜集整理了“开发过程中的一些小总结 - 中学课件”一文,供大家参考学习
1.Smarty中display和fetch的唯一区别就是display等于echo fetch 即fetch完后再输出两者最大的不同就是fetch是把内容输出给一个 变量而display是把内容输出给浏览器这样我们就可以用一个变量 来接受fetch的输出然后把他写入到文件中去 如htmlsmarty-gtfetchquottemplate.htmquot fp fopenfile_namequotwquot//把模板内容输出给变量fp iffwritefphtml//写入文件 die生成html文件失败 fclosefp dirname__FILE__:得到的只是目录的名字后面没有 quot/quot. lta hrefquotjavascript:checkquotgt 2.角色管理就是后台可以对某些人的操作进行限制 在循环显示数据库表中字段的名称时自动增长的字段名显示不出来 如desc ecs_goods rowField:不会显示出自动增长的字段名 3.在fck编辑器中new FCKeditorinput_name中的参数随意但返回 的那个fck编辑器的名称是唯一的 1如:function create_html_editorinput_name input_value global smarty editor new FCKeditorinput_name editor-gtBasePath ../includes/fckeditor/ editor-gtToolbarSet Normal //editor-gtToolbarSet Default editor-gtWidth 100 editor-gtHeight 320 editor-gtValue input_value FCKeditor editor-gtCreateHtml smarty-gtassignFCKeditor FCKeditor smarty-gtassignFCKeditor_tw FCKeditor 2在模板当中FCKeditor_tw、FCKeditor_tw形式显示模板 3在php文件中通过_POSTinput_name获取fck编辑器中内容 4图片上传的配置: 打开文件FCKeditor/editor/filemanager/browser/default/connectors/php/config.php 查找configEnabled将它设置为quottruequot 查找configUserFilePath将它设置为图片的目录这个目录是相对于 主目录的如/blog/upload/ 打开文件FCKeditor/editor/filemanager/upload/php/config.php 配置跟上述配置对应 4.smarty生成静态网页将信息插入数据库的同时生成静态网页 1ob_start 2将提交信息插入数据库成功后重新将新插入的信息查询出来 赋给模板变量我们需要新插入记录的id作为生成静态页面的文件名 3smarty-gtdisplayquottemp.htmlquot:显示的temp.html模板文件的 内容被放到缓冲区中此模板文件中的变量部分是smarty格式这样可 以直接替换 4利用ob_get_contents函数得到缓冲区中的内容即temp.html 模板的内容 5利用ob_end_clean函数删除内部缓冲区内容并关闭内部缓冲区 6将缓冲区中的内容写入infoid.html文件中 5.通过模板替换实现生成静态页面 1利用fopen和fread函数读取temp.html模板文件的内容 如 contentfreadfpfilesizequottemp.htmlquot 2利用str_replace替换函数替换模板中的变量 如content.str_replacequotltfilegtquotfilecontent 3最后将替换后的模板文件写入要生成的静态页中 6.静态页面的分页问题思路 total_page总页数 fori1ilttotal_pagei ob_start while循环语句 调用模板 生成静态页面 7.静态页面中有关单页浏览次数的思考静态页面如果要实现动态 更新浏览此时采用生成静态页面的方法是不可取的。
1采用静态页面中插浮动框架浮动框架链接php页 2文件调用看
代码 如temp.html文件 lthtmlgt ltheadgt lttitlegtphp变量赋值给js变量lt/titlegt lt/headgt ltbodygt///注意在body中 ltscript languagequotjavascriptquot srcquottemp.phpquotgtlt/scriptgt lt/bodygt lt/htmlgt 如temp.php文件 ltphp tmpquotI love you quot gt var tmpquotltphp echo tmp gtquot document.writetmp 当我们运行temp.html页面时显示I love you 实际应用只给你可以将temp.html页面中的quottemp.phpquot更改为 quottemp.phpnews_id新闻idquot。
新闻网页面浏览次数即采用该 种方法实现 8.smarty指定模板目录下的index.tpl文件 smarty-gtdisplayquotindex.tplquot smarty指定模板目录下admin子目录下的index.tpl文件 smarty-gtdisplayquotadmin/index.tplquot 9.smarty的工作流程 1初始化smarty 2用smarty-gtassign设置要替换的变量第一个参数是模板要被 替换的部分 3smarty-gtfetch取回替换完后的模板HTML或用display直接输 出记住fetch取回的是替换完后的模板也就是说模板中的smarty变量 已经被替换为真实的数据 10.php中global和GLOBAL的区别: 1global在函数中产生一个指向函数外部变量的别名变量而不是 真正的函数外部变量 2GLOBAL确确实实调用的是外部的变量函数内外始终保持一致 如ltphp function test global bar unsetbar //unsetGLOBALbar barquotsomethingquot test echo bar 结果something //echo bar 结果空 gt 11. ifstrlen_SESSIONlang_optiongt1//如果session有值 if_GETlang_optionquotquot///并且传递参数的话 _SESSIONlang_option_GETlang_option//切换语言包 else /// session虽然有值但是并没有传递参数session不需要重新赋值 else _SESSIONlang_option quot_zhquot 12.通过php脚本将数据导入到数据库 ltphp iffile_existsquotdb.sqlquot//检查此文件是否存在 //打开这个文 filefile_get_contentsquotdb.sqlquot //通过分号将字符串分成一个数组 sqlexplodequotquotfile numcountsql mysql_connectquotlocalhostquotquotrootquotquotquot fori0iltnumi resultmysql_querysqli ifresult smarty-gtassignquoterrorquotquot导入失败quot smarty-gtdisplayquoterror.tplquot exit gt 13.如何防止单击浏览器刷新按钮增加帖子的浏览量phper8 1每当用户网站首页或者刚一登陆时就初始化一个空的session数组 该数组是用来存放帖子的id号的我将它命名为_SESSIONmid。
然后 当用户每点击帖子标题时会向服务器请求显示该帖子内容的页面该也页 面接受帖子的mid。
这是服务器端会首先判断这个接收过来的mid是否在 _SESSIONmid数组中如果在则证明该帖子已经被浏览过了反之 则说明该帖子是被当前用户第一次浏览将该mid压入_SESSIONmid数组 中。
使用这个办法只要当前用户没有关闭浏览器或者session没有过期的话 无论该用户重复浏览那篇已经被访问过的帖子该帖子的浏览量是都不会再 增加的。
2该页用于接受用户名和密码如果验证成功则开启会话并且初始化 _SESSIONmid。
然后页面将跳转到用于显示帖子列表的showMessage.php 如username_POSTusername password_POSTpassword ifusernamequotadminquot ampamp passwordquotadminquot session_start _SESSIONmidarray headerquotlocation:showMessage.phpquot 3显示帖子列表:showMessage.php 如sql_strquotselect midtitlebrowse_count from messagequot mysql_queryquotset names gbkquot resmysql_querysql_str arrarray//初始化一个数组 fori0iltmysql_num_rowsresi arrimysql_fetch_arrayres smarty-gtassignquotarrquotarr smarty-gtdisplayquotshowmessage.htmlquot 4显示帖子列表的模板页 foreach fromarr itemi lttrgt lttdgti.midlt/tdgt lttdgtlta hrefquotshowBrowse.phpmidi.midquotgt点击lt/agtlt/tdgt lttdgti.browse_countlt/tdgt lt/trgt lt/foreachgt 5showBrowse.php:该页用于计算帖子的浏览量。
首先对要传入的mid 通过in_array进行判断其是否在_SESSIONmid中如果不在将该 mid用array_push压入_SESSIONmid并将标志位browse_flag设置 为1否则为0。
如果browse_flag1则证明该帖子是第一次被浏览的 调用增加浏览量的方法addBrowse. 如mid_REQUESTmid ifin_arraymid_SESSIONmid array_push_S blowser_flag1 else blowser_flag0 ifblowser_flag1 arrgetBrowsermid//根据mid获得当前帖子的信息 addBrowsearrmidarrbrowse_count//次数加1 arrgetBrowsemid//重新获得帖子的信息 else arrgetBrowsemid//获取帖子的信息 smarty-gtassignquotbrowse_countquotarrbrowse_count smarty-gtdisplayshowBrowse.html//该模板用于显示浏览量 14.如果没有验证码的话可以用时间来限制随意发帖或恶意发评论 如获得当前格林威治时间的时间戳 function gmtime return time - dateZ cur_time gmtime if cur_time - _SESSIONsend_time lt 30 // 小于30秒禁止发评论 15.当使用phpmyadmin无法导入.sql文件时 mysqlgtsource d:datafilename.sql 16.iframe可以实现跨域问题比如嵌入天气预报、嵌入潮汐、嵌入百度、嵌入谷歌、 还可以嵌入其他类型的文件如一个网站中含有多种编程语言的文件 如1嵌入天气预报 ltiframe namequotweather_incquot srcquothttp://qixiang.xixik.com/cframetype7quot widthquot380quot heightquot70quot frameborderquot0quot marginwidthquot0quot marginheightquot0quot scrollingquotnoquotgt lt/iframegt 17.如果你的项目中总是出现header already sent by 错误的话 将php.ini文件中的output_buffering修改为on即可 18.内容页ltdede:field.字段名gt 列表页field:字段名 19.php的中间件产品dedecms、帝国cms等
开源技术 20.http://tool.admin5.com/daima/ 很多常用的js广告特效 www.php100.com 我常用的工具和文档都能在这里下载到 22.在php文件中输出带有特殊字符的html
代码时一定要将特殊字符进行转义即加上反斜杠 如echo quotltinput nameusernamegtquot 23.遨游浏览器的viewpage插件很好很强大 火狐浏览器的firebug插件很好很强大 360浏览器能直接到谷歌翻译 24.kindeditor编辑器也很好用的 25.打开窗口中的 quot插入quot 功能-----插入div标签---》样式自动加在lttitlegt标签下面还会自动在ltbodygt内自动增加我们定义的div标签 26.divcss布局的规则 1整体布局 2细化布局 27.actionscript概述是flash脚本语言是一种面向对象的编程语言 1actions动作:就是程序语句它是actionscript脚本语言的灵魂和核心 2events事件简单的说要执行摸一个动作必须提供一定的条件 3class类是一系列相互之间有联系的数据的集合用来定义新的对象类型 4constructor构造器:用来定义类的属性和方法的函数 5flash使用actionscript给动画添加动画中的场景和帧而在交互动画中可以使用键盘或鼠标与动画交互。
例如可以 单击动画中的按钮然后跳转到动画的不同部分继续播放可以移动动画中的对象 可以在表单中输入信息等等 6actionscript是由flash player中的actionscript虚拟机AVM来执行。
7actionscript
代码通常被编译成quot字节码格式quot字节码嵌入swf文件中 swf文件有运行是环境flash player执行。
8actionscript的主要IDE是adobe公司的flash最新版本cs4 10.0和flex 3.0 9语法跟java极为相似 28.flex程序开发初步 1flex程序的编写有actionscript3.0和MXML共同组成flex sdk提供了丰富的用 户界面窗口工具flex编译可以将MXML
代码转换为actionscript然后将actionscript
代码转变为flash字节码 2flex生成两个文件一个html一个swf都在bin-debug里面嵌入的话就是 flash嵌入的方式记不住就用dreamweaver都可以 3flex实际就是flashswf文件用户不能直接看得镶嵌在网页中 4MXML是flex应用程序的标准语言它允许开发者定制的结构应用不仅包括布局还 包括class结构非常简单用于标记这个特性非常方便又web设计和开发背景的开发者用 类似html的MXML开发。
5很多公司使用flex替换java因为提供和java类似的跨平台能力和现代面向对象的架 构但是只需要一个小得多的封装和额外的负荷。
flex应用完全能够完成基于web的软件 以及桌面软件AIR 6flex是易学的MXML非常简单容易理解。
如果你曾经使用过HTMLCSS你很快就能 上手mxmlmxml的组件很多能做出跟jquery等一样的UI界面在桌面软件中很受欢迎。
其中mxml的webservice组件可以实现远程服务的调用 7flex builderflex的开发工具界面操作 8flex可创建跨平台跨浏览器的web应用程序并为之提供丰富的用户体验 9AIR技术包:支持AIRadobe integrated runtime应用程序开发其实就是桌面程序AIR是一个跨平台的 运行时。
AIR能够使得开发人员利用现有的web开发技能包括flash、flex、html、 javascript、ajax优势建立和配置跨平台的桌面RIA应用此技术使得富互联网应用程序开始桌面化允许应用程序访问本地资源 例如读写文件流操作本地的sql数据库 flash的桌面运行环境AIR它有自己的虚拟机就像java那样让flex开发的系统也可以在桌面直接运行。
10fms流媒体技术包:需要的工具flash cs4 flex builder fms3.0 需要的语言actionscript3.0 FMSFlash Media Server服务器是用于用户之间相互通讯的心平台它集成了flash多媒体交互的特性又添加了实时音频、实时视频和实时数据流等新特色使用改平台你可以通过网络存储录制下来的音频、视频、也可以共享数据对象并且可以将这些音频、视频和共享 数据对象传递给多个客户实现实时同步共享。
该平台集成了通讯功能和应用程序功能它通过flash player在客户端提供音频共享、视频共享 和共享数据流为用户带来了更为丰富的体验。
可以开发电视会议系统使用fms只需要配备web摄像头和麦克风并加上十几行actionscript
代码即可 FMS的传输协议:使用实时通讯协议RTMP该协议是一中未加密的tcp/ip协议专门用来高速传送音频、视频和数据信息。
使用FMS可以捕获甚至录制用户客户端的视频和音频流。
信息通过FMS使用RTMP协议被传递到客户端用户计算机上的flash player。
当一个flash影片应用程序要使用FMS时flash player就连接到服务器这样就在客户端flash player和FMS之间提供了往复的源源不 断的信息流成为network stream网络流其他的用户也可以同时连接到相同的FMS接受信息、更新数据以及音频和视频这些都是 quot网络流quot FMS特色:是一个完全基于软件环境的多媒体实时通讯环境代表了当前实时通讯领域内的发展方向 FMS服务器的连接:通常做FMS都是和FLASH或者换Flex结合开发的特别是在视频这方面相当的突出成功的案例也不少如酷6、优酷等视频网站都与FMS挂钩。
11flash连接FMS服务器的
代码放在 .as文件中flex连接FMS服务器的
代码放在MXML文件中或asc文件中 12桌面上的web开发-----AIR:实时通讯 使用flex builder构建第一个AIR应用 使用flex SDK构建第一个AIR应用 13flex企业级开发flexweb services web services分布式无国界 SOAP引擎Axis2 flexweb services开始起航 14flex图表 15现有的RIA四大技术flex、silvelight、javafx、curl 16漂亮的图形和用户界面是丰富的互联网应用程序RIA的最明显的特征但是侧重于外表 17RIA是富互联网应用程序或富web应用 18flex程序是通过浏览器间接和服务器交互的flex程序被下载到浏览器中由浏览器插件flashplayer负责解释执行。
flex程序向服务器发出的请求 信息实际上是调用浏览器的发送功能来实现的接受服务器返回的数据也是调用浏览器的接受功能来实现的。
19swf文件就像是一个java领域内的class文件是可执行文件但是可能比class文件的概念更丰富如果了解.NET程序集的话我觉得它更像一个单一 文件程序集这里面还包含了程序集需要的资源如图片是一个整合。
20flash的站点很慢因为大部分是使用了视频使用这 21flex终归是web开发但是flex有丰富的UI组件和客户端的事件模型是表现层的很好的选择开发界面就如桌面开发那样。
flex是编译成一个swf文件 运行在flash播放器里现在主流的浏览器都支持flash播放器甚至也有很多手机也支持flash播放器。
22在flex project中application type分为web applicationruns in flash player和desktop applicationruns in adobe AIR 前者bin-debug文件夹中有.html和swf文件而后在bin-debug文件夹中有.xml和swf文件 前者src文件夹中有.mxml文件后者文件夹中有.mxml和.xml文件 前者运行的界面是浏览器格式后者运行的格式像
vc做出来的桌面软件 可以直接拖放按钮控件这一点要比java做的好 23mxml文件不同于html文件它会被编译成一个swf文件运行在html网页中 24actionscript相当于javascriptmxml相当于html通过httpservice组件与php程序进行交互 自定义控件其实就是继承了原有组件的类class mybutton extends Button 25使用HTTPService组件与HTTP程序交互HTTPService组件可与所有的HTTP程序交互例如ASP、asp.net、JSP、PHP等 基本语法是ltmx:HTTPService idquotHTTPService组件idquot urlquotHTTP程序地址quot/gt如ltmx:HTTPService idquothttpserquot urlquot www.google.cnquot/gt是 使用HTTPService组件调用quotww.goole.cnquot网址后面也可以带参数。
HTTPService组件返回的数据存储于ResultEvent类中使用HTTPService组件的result事件可处理HTTP程序返回的数据其中的语法如下 private function 处理函数名e:ResultEvent:void///函数名随便取参数不能变 e.result //返回数据 ltmx:HTTPService ?? resultquot处理函数名quotgt 返回的数据存储于ResultEvent类的result属性下各种数据的具体位置与HTTP程序的处理结果有关 26HTTPService组件与HTTP程序交互HTTP程序返回的数据一般为数组型、xml型、object型 因为flex3.0不能直接接受数据库数据需要其他程序处理这些数据后以特定的类型返回给flex。
如前面的ASP.NET程序将结果存于ltComputeResultgt标签中Flex程序接收后的值应该在“e.result.ComputeResult”中。
27webservice组件的使用方法与httpservice组件的使用方法大同小异最主要的区别在于 参数的传递方式传递参数的方式如下 ltmx:WebService idquot WebService组件idquot wsdlquotWebService地址quotgt ltmx:operation namequot方法名quotgt ///此组件表示webservice的一个方法必须与webservice中的定义名称相同 ltmx:requestgt///此组件存储参数参数值以标签形式存储需要主要的是参数的名称及顺序必须与webservice中的 lt参数名1gt值1lt/参数名1gt lt.
上一篇:
Python界面程序开发应用技术
下一篇:
科研管理杂志简介