浅谈PHP生成静态页的两种方法 (PHP心得)
发布于 2006-12-27 13:31 5 阅读:12,508 评论:5 标签: php 方法 静态

最近作的一个项目中用到了两种用PHP生成静态页面的方法,回想起当初自己还不知道如何生成静态页面的迷惘,以及看不懂高手写的文章的痛苦,觉得自己有必要站出来为还不知道如何生成静态页的phper写一个通俗点文章,以帮助他们尽快掌握这个好东西。

在我之前所见的文章中要不是用代码堆砌空间就是用高手与高手交流用的语言让新人望而生却。因此本文尽量把整体思路说得详尽点。

两种方法简单说明如下:
1. 使用文件函数得到静态页面的模板字符串,然后用str_replace函数将需要替换的东西替换了再写入到新的文件中。
2. 利用PHP的输出控制函数(Output Control)得到静态页面字符串,再写入到新的文件中。

下面开始详细的说明。

一. 利用模板生成

什么是模板?如果大家使用过Dreamwerver中的“另存为模板”就应该知道模板是用来统一风格的东西。它只让你修改页面的某一部分,当然这“某一部分”是由你来确定的。本文在这说的模板也就是这个意思。(此外,PHP模板技术还包括phplib、smarty等等,这不是本文所说内容了)

把模板的概念结合本文再说得具体一点就是:美工先做好一个页面,然后我们把这个页面当作模板(要注意的是这个模板就没必要使用EditRegion3这样的代码了,这种代码是Dreamwerver为了方便自己设计而弄的标识),把这个模板中我们需要改变的地方用一个与HTML可以区分的字符代替,如“{title}”、“[title]”。在生成静态页面的时候只需要把数据和这些字符串替换即可。这就是模板的含义了。

下面来说一下具体的实现思路:做一个模板

展开全文  
收起全文  
MyISAM和InnoDB类型数据表在复制时的区别 (PHP心得)
发布于 2006-12-08 13:28 阅读:52,208 评论:0 标签: InnoDB MyISAM mysql 复制

当数据量的时候,采用复制MySQL下data目录下文件似乎更为快捷。但在复制的时候MyISAM类型可以很顺利的进行。但是InnoDB类型的被复制过去后,在数据库中可以看到表的存在,但使用它的时候却提示表不存在,并提示无法找到一个文件。此时删除也删除不了,新建一个同名的也不行。后来偶终于想到一个方法,那就是把此表的数据表文件删除,嘿嘿,好了!这时候再手工导入就可以了。

展开全文  
收起全文  
对付隐藏文件看不了的一个恶招 (扩展学习)
发布于 2006-12-03 08:49 4 阅读:15,766 评论:4 标签: Windows 文件 隐藏

最近电脑中招,隐藏文件看不了了,但只要知道目录还是能打开。可这样总是不爽,于是上网找资料,一个资料如下:

--------------------------------------------
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL这个键.看右边.找到一个CheckedValue的值.这个恶心的病毒居然把他改成了字符串值.你改了也没用.把这个值删除.重建一个DWORD的值为CheckedValue.把他的值设为1.就行了
--------------------------------------------

很遗憾,也许是由于偶中招太厉害,删除后再建立的时候竟然提示我说文件已经存在原来删除不了,晕!太厉害了!

左思右想,恶向胆生,决定把注册表SHOWALL部分导出(右键)保存,再删除!修改

却惊然发现,文件夹选项关于隐藏文件部分的选项作用被置换了,再次晕!

不管如何,被隐藏的文件已经能看见了。

展开全文  
收起全文  
我是个懒人 (随便说说)
发布于 2006-11-18 19:58 3 阅读:26,292 评论:3 标签: 懒人

很久很久没更新blog了,甚至修改好的程序都懒得没上传.也不知道是不是最近太累了.

一直以来,学校的主页空间都是我这网站的一个重要IP来源.然而,就在前几天,该服务器挂了.它轻轻的走了,却带走了我近三分之一IP.在此,沉重悼念一下home.nuc.edu.cn服务器.希望它早日康复!并感谢学校提供的这个服务!

展开全文  
收起全文  
look.php?id=0的bug已经修补 (本站点滴)
发布于 2006-11-10 13:53 6 阅读:38,034 评论:6 标签: bug

  近来,http://www.yayu.org/look.php?id=0两次被人攻击。芽雨最近很忙,所以一直没修补,但是今天又给人攻击了,所以忍无可忍给补上了。

  这个blog程序是一年半前写的了,出点差错也是在所难免的。

  如果你是为了考验芽雨的水平,请到http://nuc.yayu.org进行攻击,那是2006年5月的作品了。比这个站其他程序质量要高点。

  谢谢合作!

     附:今天发现有人(ip:84.14.52.34)通过http://home.nuc.edu.cn/~yayu/look.php?id=0成功攻击了,无语.....学校ftp有点问题,没有在那空间上传,就这么有意思么?

 

展开全文  
收起全文  
[开源]知行中北 程序发布 (本站点滴)
发布于 2006-09-21 23:04 13 阅读:22,119 评论:13 标签: 比赛 开源 知行中北

比赛结果已定,代码开源。

有意要者请留Email

==========================================================


* 作品:   知行中大
* 目的:   中北大学第二届网页设计比赛作品。
* 结果:   二等奖 (一等奖美工很好!唉。。。。)
* 演示地址:http://www.yayu.org/zhongda (如果进不了这个地址,那说明程序还没有挂
上去)
* 程序:   芽雨(http://www.yayu.org   xieyayu@163.com
* 美工:   甲骨文 (http://blog.sina.com.cn/u/1232878155 hys3402@163.com
* 时间:   2006.04-05

版权声明:本源码开源,欢迎修改!如果用于商业目的,请与我们联系,否则必究!


使用时把数据库导入再修改config/inc.php文件
默认管理员:admin 密码:admin
关于本程序算法和数据结构的说明,请访问:http://bbs.yayu.org 本站程序讨论版面
由于在写程序的时候句考虑到以后要开源的问题,所以写程序的时候就很注意注释。相信看
程序应该不成问题吧!

====================================================================

FLASH源文件请看图片源文件文件夹

index.psd为首页源文件包括切片
gglm.psd为公共栏目
grlm.psd为个人栏目
banner.fla ,ter.fla为banner flash源文件
small.png为导航标志源文件
bigbar1.fla为交替广告牌源文件
*.swf为flash演示文件


如果想研究本站表格结构和css请联系xieyayu@163.com索取整站源程序,
如果您有兴趣一块探讨网页布局和css使用等web技术请到bbs.nuc.edu.cn
相关版面直接讨论不要担心我找不到。

=====================================================================


已经发送:11人

yourlogo@126.com
127cocolimin@gmail.com
pesoft@126.com
qingwen_liu@163.com
leternity30@hotmail.com
senps@163.com
lichangkunshiwo@163.com
zxg.china@163.com
01px@nuc.edu.cn
haoniua@gmail.com
zoozle.zhou@Gmail.com

展开全文  
收起全文  
芽雨配置php服务器手记 (PHP心得)
发布于 2006-09-15 12:41 4 阅读:13,413 评论:4 标签: php 服务器 配置

我安装这个服务器,参照了三个人的文章,如下:非常感谢他们

吟清PHP学习之路第二步 - 安装配置PHP运行环境!
http://www.aspid.cn/blog/article.asp?id=305

如何安装配置phpMyAdmin进行数据库的管理http://blog.wenxue.li/archives/?article-46.html

安装php mysql apache
http://nonoroom.spaces.live.com/blog/cns!5AAD7F8C6C6BEF96!110.entry


软件下载地址:

Apache 2.0.58 for Windows:   http://www.onlinedown.net/soft/11528.htm
PHP 4.4.2 :
http://www.onlinedown.net/soft/1774.htm
phpMyAdmin 2.8.2:            http://www.onlinedown.net/soft/2622.htm
Zend Optimizer 2.5.7:        http://www.onlinedown.net/soft/32228.htm
MYSQL For Windows V4.1.20:   http://www2.skycn.com/soft/24418.html

PHP 5.1.4        http://www.onlinedown.net/soft/1772.htm
MYSQL 5.1.11 beta   http://www.onlinedown.net/soft/3575.htm

在芽雨的安装中,目录是这样的,根目录为D:\WebPHP。下面分:PHP,Apache2,MySQL,WWW。他们分别放置PHP系统文件,Apache2系统文件,MySQL系统文件,网站程序。

安装mysql-4.1.20-win32:

    选择Custom安装。目的是安装在自己设置的目录。
    在选择安装目录中,设置为:D:\WebPHP\MySQL
    在“MySQL.com Sign-up”中,我选择的是“Skip Sign-Up”
    在“Please select the default character set”中,偶选择的是第三种,并在“character set”中选择“gb2312”
    在设置密码时,偶还选择了“enable root access from remote machines”。意思大概是允许远程管理数据库吧。
    装好以后,我们来检验一下安装好了没有。
    开始--运行--cmd:我们进入DOS下。进入D:\WebPHP\MySQL\bin目录。
    输入进入数据库的命令:mysql -hlocalhost -uroot -yayu。解释一下:-h后为主机地址,-u后面为管理员帐号,-p后为密码。这个命令很好记的。h是host,u是user,p是password。
    好了,芽雨已经进去了。我们再看看默认的数据库有没有。运行:show databases;。记得命令后有分号!
    好,现在我已经看见系统显示了两个数据库:mysql和test。OK!芽雨成功了

安装apache_2.0.58-win32-x86-no_ssl.msi

    在“server information”中,芽雨不知道那是什么意思。就写上了我的网站和Email。
    选择Custom安装。目的和上面一样,是为了安装在自己设置的目录。
    在选择安装目录中,设置为:D:\WebPHP\。请注意,我在这没有在后面加“Apache\”,因为只有这样,"Apache2"才会成为WebPHP下的第一级子目录。
    安装完了,你会发现右下角多了一个图标,那是Apache的服务标志!
    这时你在IE中输入“http://localhost/”或者“http://127.0.0.1”。如果出现了Apache的提示成功的页面,那你就成功了!

安装php-4.4.2-Win32

    解压php-4.4.2-Win32.zip,把里面的php-4.4.2-Win32文件夹复制到D:\WebPHP\目录里,并改名为:PHP。
  请将“D:\WebPHP\PHP\php4ts.dll”移入D:\WebPHP\PHP\sapi”。最后将“D:\WebPHP\PHP\php.ini-dist”改名为“php.ini”后移到 Apache2 的安装目录“D:\WebPHP\Apache2”下(注意:移到系统目录例如 C:\WINNT亦可,但这样重装系统后你又得重新配置PHP,这种移到Apache2目录的方法可以省去该麻烦)。
  最后,在 D:\WebPHP\php 下新建两个子目录“session”和“includes”(理由?呵呵,别急,下面会说明)

Apache及PHP的配置

  配置PHP的一些属性:打开“D:\WebPHP\Apache2\php.ini”。以下操作在此进行。

     1:配置PHP服务的文件夹(PHP文件放置的根目录),既你以后的程序都放在这里面以让IE能访问它。搜索“doc_root”。另它等于为:“doc_root = D:/WebPHP/WWW”。注意请使用斜杠"/"而非反斜杠"\"。下同!
     2:配置配置动态函数的路径,即PHP的扩展模块。搜索“extension_dir”,把它改为:“extension_dir = "D:/WebPHP/PHP/extensions"”。这时你搜索一下:“;extension=”,你将看见很多的东西,那都是PHP的扩张模块,当你需要的时候只要把前面的“;”去掉就可以了!
     3:配置定义 session 储存资料的文件路径。搜索“session.save_path”,会看见:“;session.save_path = /tmp”。前面有“;”,说明它没有被起用。这个问题在很多教程中都没有提到,而且一般SESSION在身份验证、购物车等时候才需要,所以初学者容易忽视。好,现在我们把它改为:“session.save_path = D:/WebPHP/PHP/session”。注意前面没有“;”了哈!
    4, 这个版本MySQL的加密算法变了,链接数据库明明输入了正确的密码还是出现
MySQL #1251 Error 错误:
Client does not support authentication protocol requested by server. Consider upgrading MySQL client

比如这段程序,可以用来检测数据库是否连接成功,运行会出现错误!

$link=mysql_connect('localhost','root','123');
if(!$link) echo "MySQL 数据库连接失败";
else echo "MySQL 数据库连接成功!";
mysql_close();
?>

吟清在Google找到解决方法:

mysql> SET PASSWORD FOR
-> ' some_user '@' some_host ' = OLD_PASSWORD(' newpwd ');

结合我们的实际情况,在 MySQL Command Line Client 下运行:

set password for root@localhost = old_password('123');

  配置Web服务器Apache

     1:依次展开“开始菜单==>程序==>Apache HTTP Server 2.0.48==>Configure Apache Server==>Edit the Apache httpd.conf Configuration File”,打开Apache的配置文件“httpd.conf”。或者直接在D:\WebPHP\Apache2\conf中打开httpd.conf。
     2:搜索“#Listen”,找到“#Listen 12.34.56.78:80”一行,如果想让Apache2只监听某一该IP段,这里就需要去掉注释,改成你需要的IP地址。例如,你只需要本机调试,不想让外部访问,那就改成 “Listen 127.0.0.1:80”,这样一来,只能从你本机访问(地址栏输入 127.0.0.1 或者 localhost)才能看到Apache2的页面。或者当你网卡绑定了两个以上的IPe而只想用其中某一个时也可以考虑用这个方法。一般而言不必对此做太多修改。
     3:搜索“#LoadModule”,会看见一大串连续的行。这些是Apache2为了解释特定的语言而引入的模块。请在后面加入新的一行:“LoadModule php4_module D:/WebPHP/PHP/sapi/php4apache2.dll”以使Apache2加入对PHP的支持。
    4:然后在这一行的后面再加上(其实加在哪里都一样,这样只是为了便于以后纠错):
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .php4
    AddType application/x-httpd-php .php3
    AddType application/x-httpd-php .phtml
    AddType application/x-httpd-php-source .phps

    
  上述几行的用处是添加Apache支持和解释的PHP后缀名。您一定可以想到,如果加入“AddType application/x-httpd-php .html”一行,那么直接把PHP文件存为html格式也不要紧,你的Apache还是会自己解释的。
   (如果使用的是Apache1.x版本,还需做以下操作:搜索“AddModule”,还是找到一大串的连续行。在最后一行的下面加上“AddModule mod_php4.c”一行。本文使用的是2.x系列,所以毋需此步骤。)
    5:修改默认的Apache所服务的文件夹,这里需要修改两个地方。
    搜索:“DocumentRoot”,找到:“DocumentRoot "D:/WebPHP/Apache2/htdocs"”,这里的目录是随你安装的地址不同而不同的。把它改为:“DocumentRoot "D:/WebPHP/WWW"”。然后在往下找找:“”这里也需要需要修改,显然,它应该为:“<Directory "D:/WebPHP/WWW">”。如果你还记得上面修改php.ini的情形,那你现在应该知道:如果要更换根目录,那么你需要修改三个地方!
    6:增加虚拟目录。如果需要增加虚拟目录,请添加类似“ Alias /manual "D:/WebPHP/Apache2/htdocs/manual/" ”的行。其中“Alians”后面的那个斜杠后面对应的是虚拟目录名,后面的是它的物理路径。上面的地址就可以通过“http://127.0.0.1/manual”来访问。
    7:自定义默认首页。查找 DirectoryIndex index.html index.html.var 在后面加入 index.htm index.php


   更改环境变量

  由于PHP在windows下运行时需要一些额外的DLL,所以需要用到“D:\WebPHP\PHP\dlls”下的那些文件。常规方法是将这些文件放到“C:\WINDOWS\system32”下,但这样一来每次重新装都要如此,所以我使用环境变量来避免此问题。桌面右击“我的电脑”==>“属性”==>“高级”==>“环境变量”==>“系统变量”==>找到“Path”一行,双击,在后面添加上述目录,注意记得在原先的环境变量后面加上分号以区分(即需要输入“;D:\WebPHP\PHP\dlls”)
   来,我们来看看我们现在的PHP环境变量。在一个php文件中写如下语句:

phpinfo();
?>

   然后打开它,你是不是可以看见了一个页面?这个页面芽雨也不是很懂,汗~~~

 

安装phpMyAdmin-2.8.2.zip 
 
     解压它,把里面的phpMyAdmin-2.8.2文件夹移动到D:\WebPHP\WWW。并改名为:“phpMyAdmin”。
     打开D:\WebPHP\WWW\phpMyAdmin\libraries里面的config.default.php。我们。来修改一下它。 
   
     1。设置站点。搜索“$cfg['PmaAbsoluteUri']”,把它设置为:“$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';”
     2:登陆phpMyAdmin时的设置
        $cfg['Servers'][$i]['auth_type']     = 'cookie';   
        $cfg['Servers'][$i]['user']          = 'root';     
        $cfg['Servers'][$i]['password']      = 'yayu'; 
config: 按照 自身 libraries/config.default.php 文件中的配置提供用户名和密码
cookie:用于输入口令方式登陆,如果选择此项,需要设置$cfg['blowfish_secret'] = 'cookie';(见后面的介绍)    

     3,“$cfg['DefaultLang'] =”一行后面是它默认的语言,这里我们将它改为“$cfg['DefaultLang'] = 'zh';”,顺便把下面10行左右的默认字符集“$cfg['DefaultCharset'] =”改为“$cfg['DefaultCharset'] = 'gb2312';”。

 

现在我们进入http://localhost/phpmyadmin/index.php。发现要登陆两次才进得去,原因未知。进入后,发现全是乱码!没关系,这可以改。把Language选项改为:“中文 - Chinese simplified”,再把“MySQL 连接校对”改为“gb2312_chinese_ci”,好了,中文出来了。以后在进行数据库操作的时候,如果发现有字符集的选项,和上面一样弄就可以了!


 补充:

如果出现“配置文件现在需要绝密的短语密码(blowfish_secret)”
那么请在$cfg['blowfish_secret'] = ' ';的等号里面设置你网站的cookie,例如:$cfg['blowfish_secret'] = 'www.taoliyuan.com.cn';
这是因为你的“$cfg['Servers'][$i]['auth_type'] = 'cookie'的原因。

 补充2:

感谢blacksheep提出了两个笔误,他的个人网站是http://www.phpone.cn,一个很好的域名。

展开全文  
收起全文  
回帖bug已修复 (本站点滴)
发布于 2006-09-13 15:48 阅读:6,146 评论:0 标签: bug

原因:存储回帖的数据表记录主帖的字段属性为tinyint,所以超过127就不行了.现在已经把其改为int.

大意大意啊!

展开全文  
收起全文  
[已修复]本站BBS发现重大BUG (本站点滴)
发布于 2006-09-11 22:09 阅读:7,490 评论:0 标签: bbs bug

发现在后面开的几个版面跟帖子的时候,回帖不能显示

由于时间关系,没精力去查找和修复它

等有空的时候准备重新写BBS的程序

 

注:2006.9.13已修复:回帖bug已修复

展开全文  
收起全文  
把思想简单化 (PHP心得)
发布于 2006-08-15 18:51 阅读:14,127 评论:0 标签: 简单 算法

  记得偶在一次技术交流时说过:网站编程无非就是三个方面:把数据送到数据库;把数据从数据库找出来;送/找过程的数据处理。

  昨天在喜悦村看见有人更简单:搜搜数据库,把内容显示。(大意如此。贴主忘了,今天去找没找着。)

  事实就是这样:想简单点,有利于算法优化。

展开全文  
收起全文