首页 技术教程 实用代码 注册破解 正则表达式 网址导航 电子书籍

PHP模板引擎比较和给Template_PHPLIB增加cache缓存功能(1)

  PHP下的模板解决方案很多,主流的有 PHPLIB、IT、Flexy、Smarty等,这些模板引擎各有所长,很多人推崇Smarty,根据个人使用感受来看,Smarty有以下特点: 1、模板里面支持语法丰富,方便“程序员”(注意)在模板中实现丰富灵活的逻辑; 2、使用“预编译模板”的概念,能使性能得到一定提升; 3、支持Cache功能。   这几个特点我认为是最核心的部分,另外Smarty还提到所谓的模板FrameWork,个人认为价值不大,并非一个完整的PHP FrameWork,所以并不推崇。而就前面Smarty的几个特点来说,反倒成为我不选择Smarty的原因之一。 1、作为模板最大的作用就是MVC框架支持,Smarty的模板语法过分丰富,导...
类别:网页编程 - PHP技术    查看:100    更新:2014-05-19

PHP序列化(serialize)格式详解

1.前言 PHP (从 PHP 3.05 开始)为保存对象提供了一组序列化和反序列化的函数:serialize、unserialize。不过在 PHP 手册中对这两个函数的说明仅限于如何使用,而对序列化结果的格式却没做任何说明。因此,这对在其他语言中实现 PHP 方式的序列化来说,就比较麻烦了。虽然以前也搜集了一些其他语言实现的 PHP 序列化的程序,不过这些实现都不完全,当序列化或反序列化一些比较复杂的对象时,就会出错了。于是我决定写一份关于 PHP 序列化格式详解的文档(也就是这一篇文档),以便在编写其他语言实现的 php 序列化程序时能有一个比较完整的参考。这篇...
类别:网页编程 - PHP技术    查看:66    更新:2014-05-19

Linux下PHP连接MS SQL Server的办法

前几天做了一个非常奇怪的项目,我公司开发了一套基于中国联通SGIP协议的SP端短消息服务软件,提供联通130短信服务。这套系统是Windows 2000下的,数据库采用的是微软SQLServer2000,并且已经正常运行了一段时间。 而最近由于要在WEB上提供短消息用户的一些信息,就需要从WEB上读写SQLServer数据库,本来SQLServer数据库的最佳搭档应该是微软IIS ASP服务端脚本,但我公司一向认为IIS+ASP的稳定性和安全性都不尽如意,希望能够在Linux下用PHP脚本读写SQLServer。 分析问题 本来PHP脚本读写SQLServer是没有什么问题的,在Apache for windows和Windows IIS下可以工作的很好,一般可以通过...
类别:网页编程 - PHP技术    查看:117    更新:2014-05-19

用PHP脚本在Linux系统上读取输入和对文件进行操作

Perl作为Linux系统命令行脚本的首选解释语言的日子一去不复返了。今天,我们有了更多的选择,包括Python、Ruby和PHP。如果你已经为网站编写PHP代码,并熟谙这种语言,那么你会发现,在命令行使用PHP的速度之快,效果之好令人惊奇。 在脚本中,任何脚本语言的一个最大功用是对文件进行操作并获取用户输入。PHP处理这些丝毫不比其它任何脚本语言逊色。 例如,利用PHP在脚本执行期间处理读取用户提供输入,使用: #!/usr/bin/php<?phpfunction read_input(){$fp = fopen("/dev/stdin", "r");$input = trim(fgets($fp, 255));fclose($fp);return $input;}printf("Please supply your name: ");$name = read_input();printf...
类别:网页编程 - PHP技术    查看:110    更新:2014-05-19

preg_split——用正则表达式分割字符串

array preg_split ( string pattern, string subject [, int limit [, int flags]]) 返回一个数组,包含 subject 中沿着与 pattern 匹配的边界所分割的子串。  如果指定了 limit,则最多返回 limit 个子串,如果 limit 是 -1,则意味着没有限制,可以用来继续指定可选参数 flags。  flags 可以是下列标记的任意组合(用按位或运算符 | 组合):  PREG_SPLIT_NO_EMPTY  如果设定了本标记,则 preg_split() 只返回非空的成分。  PREG_SPLIT_DE...
类别:网页编程 - PHP技术    查看:125    更新:2014-05-19

DB2个人版(Linux)安装

摘要: 本文简略的介绍了db2 pe在linux系统上的安装过程。 目录: DB2 PE简介 或者安装文件 准备安装环境 完成安装 测试 结论 资源 DB2 PE简介 DB2 Personal Edition(DB2 PE)是在低价位的商用硬件(commodity hardware)台式机上运行的单用户 RDBMS。DB2 PE 可用于 Windows 98、Windows ME、Windows NT(SP6 或更高版本)、Windows 2000(推荐 SP2)、Windows XP 和 Linux。在 Microsoft 发布 Window 2003 服务器时,DB2 PE 将支持它们。DB2 PE 拥有 DB2 Workgroup Server Edition 的所有功能部件,不过有一个例外:远程客户机无法连接到运行着该 DB2 版本的数据库上。(但是,带有...
类别:数据库 - DB2    查看:110    更新:2014-05-19

在Redhat Linux9上手动安装DB2

平台环境:Redhat Linux 9 (加装pdksh),DB2 for Linux V8.11.自动安装参考:快速启动 Linux 应用程序 2003:安装 DB2 V8.1运行./dbsetup出现如下错误:(疑为DB2 for Linux V8.1不支持Redhat Linux 9的图形化安装,参考:DB2 for Linux)/mnt/tmp/rhce/db2/db2/linux/install/db2jinst: line 130: 2948 段错误 $JAVA_PATH/$JAVA_INTERPRETER $JAVA_OPTIONS -cp $JAVA_CLASSPATH $DB2SetupRun "$@" 2>/tmp/db2setup.err.running2.手动安装参考:独辟蹊径:在UNIX 平台上安装DB2 V8.1 的另一种方法步骤如下:①执行安装: 运行 ./db2_install②创建用户ID:groupadd db2...
类别:数据库 - DB2    查看:111    更新:2014-05-19

自动备份Mysql数据库脚本(For Windows & Linux)

一、对于Windows主机  ==============  假想环境:  MySQL 安装位置:C:MySQL  论坛数据库名称为:bbs  MySQL root 密码:123456  数据库备份目的地:D:db_backup  @echo off  C:MySQLbinmysqladmin -u root --password=123456 shutdown  C:MySQLbinmysqldump --opt -u root --password=123456 bbs > D:db_backupbbs.sql  C:MySQLbinmysqld-nt  将以上代码保存为backup_db.bat  然后使用Windows的“计划任务”定时执行该脚本即可。(例如:每天凌晨5点...
类别:数据库 - MySQL    查看:147    更新:2014-05-19

VB.NET中应用ArrayList实例

ArrayList 就是数组列表,它位于System.Collections名称空间下,是集和类型,与 ArrayList 同胞的还有一个List,他们的实用很相似,我们只介绍一些关于ArrayList的一些东东。 ArrayList有三个构造器:ArrayList() ArrayList(int32) ArrayList(ICollection) 一个简单的例子如下: Dim t As New ArrayList() t.Add("Northsnow") Dim d As New Collection d.Add("塞北的雪") d.Add("http://blog.csdn.net/precipitant") t.AddRange(d) For Each aa As String In t MsgBox(aa.ToString()) Next '会依次输出: 'Northsnow '塞北的雪 'http://blog.csdn.net/precipitant A...
类别:程序开发 - VB/.NET    查看:161    更新:2014-05-19

VB.NET中利用Split和Replace函数计算字数

对于Visual Basic开发者来说,处理字符串和执行各种各样的字符串操作是十分重要的。当你需要确定一个长字符串中的字数时,你可以使用VB.NET中的一个简单函数来获得所需要的结果。Split函数使你能够将长字符串分离为单独的字;但是如果在字与字之间不止一个空格,Split就会返回一个错误的结果。为了防止这种情况发生,你可以在使用Split之前用Replace函数来替换多个空格的出现。列表A给出了一个例子。列表APrivate Sub CountWords()Dim strText As String = "It's a wonderful world"Dim iCount As IntegerDo While (strText.IndexOf(Space(2)) >= 0)strText = strText.Replace(Space(2), Space...
类别:程序开发 - VB/.NET    查看:102    更新:2014-05-19

C#.NET中创建带图标的ListBox

下面的代码实现了带图标的ListBoox的功能,可以直接拷贝即可运行。运行结果如下:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace ListBoxWithIcon{/// <summary>/// Form1 的摘要说明。/// </summary>public class Form1 : System.Windows.Forms.Form{private GListBox lb;/// <summary>/// 必需的设计器变量。/// </summary>private System.ComponentModel.Container components = null;public Form1(){//// Windows 窗体设计器支持所必需的//InitializeComponent();//// TO...
类别:程序开发 - C#/.NET    查看:111    更新:2014-05-17

ArrayList是List里面使用率最高的

package collection.lession7; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Iterator; import java.util.List; /** * 老紫竹JAVA提高教程(7)-认识List列表之ArrayList<br> * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class Lession7 { public static void main(String[] args) { testNormal(); testSpecial(); // 一个最常见的错误 testForProblem(); } public static void testNormal() { // ------------------------------------------------------- // 声明一个列表 // 允许放入任何数据 // --------------------------------------...
类别:程序开发 - JAVA    查看:71    更新:2014-05-15

eclipse.ini中各个参数的作用

-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 这里有几个问题: 1. 各个参数的含义什么? 2. 为什么有的机器我将-Xmx和-XX:MaxPermSize都设置为512M之后Eclipse可以启动,而有些机器无法启动? 3. 为何将上面的参数写入到eclipse.ini文件Eclipse没有执行对应的设置? 下面我们一一进行回答 1. 各个参数的含义什么? 参数中-vmargs的意思是设置JVM参数,所以后面的其实都是JVM的参数了,我们首先了解一下JVM内存管理的机制,然后再解释每个参数代表的含义。堆(Heap)和非堆(Non-heap)内存按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从...
类别:程序开发 - JAVA    查看:108    更新:2014-05-14

Java Applet与Java Application的区别

在Java语言中,能够独立运行的程序称为Java应用程序(Application)。Java语言还有另外一种程序——Applet程序。Applet程序(也称Java小程序)是运行于各种网页文件中,用于增强网页的人机交互、动画显示、声音播放等功能的程序。Java Applet和Java Application在结构方面的主要区别表现在:(1)Java Applet程序不能单独运行,它必须依附于一个网页并嵌入其中才能运行,要浏览网页还需要有浏览器;而应用程序是可以独立运行的程序,只要有支持Java的虚拟机,它就可以独立运行而不需要其他文件的支持。(2)运行Java Applet程序的解释器不是独立的软件,而是嵌在浏览器中作为浏览器软件的一部分。(3)Java Applet程...
类别:程序开发 - JAVA    查看:105    更新:2014-05-14

JAVA利用FTP Client实现上传下载文件

在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件、下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件。 一、上传文件 原理就不介绍了,大家直接看代码吧 /** * Description: 向FTP服务器上传文件 * @param url FTP服务器hostname * @param port FTP服务器端口 * @param username FTP登录账号 * @param password FTP登录密码 * @param path FTP服务器保存目录 * @param filename 上传到FTP服务器上的文件名 * @param input 输入流 * @return 成功返回true,否则返回false */ public static boolean uploadFile(String url,int port,String us...
类别:程序开发 - JAVA    查看:115    更新:2014-05-14

在Linux上远程部署Java应用程序,附加命令语法

工作中需要将升级后的应用程序部署到Linux机器。以前对Linux不太熟悉,在部署的过程学到一些Linux命令。 应用程序是用Java,打包成jar文件。通过java -jar XXXXX.jar启动程序。 我使用F-Secure SSH Client工具,但是一旦关闭远程连接客户端,程序就停止。 后来,还是询问公司同事,使用nohup java -jar XXXXX.jar & 命令可以保证命令在后台运行。 同时,这个命令还会在这个目录下创建一个nohup.out文件,并所有输出和错误信息写入。 这样,就可以通过命令:tail -f nohup.out 来实时监控程序的运行了。 nohup 命令 用途 不挂断地运行命令。 语法 nohup { -p pid | Command [ Arg ... ] [ & ] } 描述 nohup 命令运行...
类别:程序开发 - JAVA    查看:118    更新:2014-05-13