Loading...

php初级教程:4相关环境变量和服务器变量的获取

Filed under: PHP,网站技术 — 江东 @ 2007-02-03 19:53:40 才(2)条评论

如何获取服务器环境参数和如何获取客户端提交过来的变量

获取服务器变量,写php在很多时候都需要获取服务器端变量或者访问者的相关参数,如web根目录、访客从哪个页面来到此php页面、网页的URI(/xx/xx.php?id=cos&m=2)等等
讲到这个,我不妨把我在水木清华发表的对应的帖子和相关的回复摘抄如下 (read on …)

看来drupal真是流行阿

Filed under: PHP,网站技术 — 江东 @ 2007-02-03 11:27:39 才(2)条评论

最近访问的几个站点,都用drupal架设的,什么时候有空了也来研究研究drupal

http://gallery.menalto.com/

http://www.nowpublic.com/

php初级教程:3.php的常用函数和基本流程

Filed under: PHP,网站技术 — 江东 @ 2007-02-02 18:55:13 还没有评论

注意。copy本站的代码可能有问题“< ?” 变成了“< ?php”所以请注意,请把那个多余的空格删除! 下面依次介绍php常用函数,其他的函数请参照php手册。

  1. echo()。这个是最重要的,php的输出基本由它来完成,也可以用C语言的print,请不要打岔。继续echo
    例子:
    < ?php echo "hello"; ?>
    < ?php echo "
    this is an html element";?>

    由于现在已经流行用div+css,所以echo html也比较简单了。我们再看一个复杂的echo html例子-生成一个表格(w3c不推荐用表格了):
    我们想生成的是

    1*1 1
    2*2 4
    3*3 9


    下面是php代码:

    < ?php $i = 1; while( $i <= 3 ){ echo "

    \n";//这里的"\n"才会在其输出的HTML中出现换行。上面的phg换行不会输出换行
    $i ++ ;
    }?>

    ";
    echo $i;
    echo "*";
    echo $i;
    echo "
    ";
    echo $i * $i;
    echo "

  2. Date().取得服务器时间,请记住php能做的始终是操作服务器,把结果给浏览器,如果要控制浏览器,请用脚本完成。
    < ?php echo("Y-m-d H:i:s");?>。你把这段代码写成php文件访问看看?更详细的请看这里:http://cn.php.net/manual/zh/function.date.php
  3. int filesize ( string filename )返回文件大小的字节数,如果出错返回 FALSE
    bool file_exists ( string filename )如果由 filename 指定的文件或目录存在则返回 TRUE,否则返回 FALSE。
  4. 函数就介绍到这里,今后在使用过程中我会逐渐配合php手册介绍一些函数。
    Php流程介绍
    由于php可以嵌入和html文件中,所以我介绍的时候也会混合举例。
    注意,本教程中的例子请都保存成.php文件进行测试。由于本人都没有测试,所以可能会出现小错误,请留言告知。

    1. 条件流程。If else.如果你熟悉c,可以大概瞄一眼,还是需要瞄一眼的。

      < ?php if(12 == date("m") ){ echo "很快就要过年了哦!"; }else{ echo "过年还早"; } ?>

      另外一种方式

      < ?php if(12 == date("m") ){?>
      很快就要过年了哦!
      < ?php } else{?>
      过年还早
      < ?php } ?>

      看明白这种方式了么?同样还有一种方式

      < ?php if( 12 == date("m") ) :?>
      很快就要过年了哦
      < ?php else :?>
      过年还早
      < ?php endif;?>

      或许你要问,那我用那种方式比较好呢??其实看个人习惯。不过我也说过一般的规律,其实就是我的习惯。如果你echo的东西比较少,为了保持好程序的结构,用第一种。 (read on …)

php初级教程:2.php学习需要的资料、B/S基础知识

Filed under: PHP,网站技术 — 江东 @ 2007-02-01 19:19:05 还没有评论

上一节讲解了php的基本平台的搭建和一个简单的php程序,这一节就说说学习php必备的一些宝典和B/S基础知识。

2.1 需要的资料

  1. php manual中文或者英文的都可以可以,到这里下载中文版。 为什么需要这个?有了这个你就不会或者很少浪费时间在论坛上问这样的问题“怎么截取字符串?”“如何判断一个文件的大小”,“如何获取当前的时间”等等.
  2. 没有了,对于初学者,够了。还需要的资料我会在高级进阶里面介绍

(read on …)

php初级教程:1.php平台的搭建

Filed under: PHP,网站技术 — 江东 @ 2007-02-01 16:10:36 才(8)条评论

php平台搭建
作为php学习者,首先要搭建一个php的测试平台,那么这里我以我自己的经验来介绍如何学习php,本人虽不算php高手,但是至少也算熟手,所以php的新手如果有兴趣的话,可以从这里开始学习php。废话不多说,下面开始

  1. 简单LAMP平台的搭建。
    什么是LAMP,其实就是Linux+Apache+Mysql+PHP(这里P我们就指php了。perl这些暂不考虑)。不过对于大多数用的是windows,那我们就简单得搭一个WAMP吧。

    1. 我以前是自己在apache.org,mysql.com,php.net上下载windows的压缩包文件,然后配置,不过这样配置有麻烦,虽然说可以按照install一步一步进行下去,但是既然有更简单的方法,我们为什么不用了。
    2. 介绍我现在用一个简单WAMP吧,uniform server(http://www.uniformserver.com/)。去这里(sourceforge)载一个压缩包,如果速度慢,就用迅雷搜索“uniform server”下载,大概10M左右,解压缩之后,双击文件里面的start.vbs就可以了uni.jpg访问http://localhost/a/选择左边的phpmyadmin就可以管理和创建数据库了,数据库默认用户和密码都是root(php入门者可以不看这里,现熟悉了php再说)。
    3. 启动服务之后,你会发现你多了一个w盘,这个是个虚拟的盘,在w盘下有个www目录,你可以删除里面的文件。这里就是你网站的根目录,我们就可以从这里开始学习PHP
  2. 开始学习PHP。请问你熟悉C语言么?严格的说会写简单的C程序么?或者要求更低一点,简单的C语言程序你能看得懂么?如果这几个答案都是否定的,那么请你去买一本谭浩强些的C语言设计的书来看,什么?不知道谭浩强是谁?我怕你了,那就随便买一本C语言的书籍来看吧!
  3. PHP与C语言的区别。
    1. php语言均以<?php开头,?>结尾,当然也可以用更简单的标签,咱们这里用正规的方法,防止今后兼容问题,邪门歪道咱们别学
    2. 变量。php的变量必须以$开头。如$var = ‘cosbeta’;
    3. 定义。php可以随时使用变量,而不需要预先定义。C则必须先定义变量才能使用该变量。
    4. 其实还有很多,比如面向对象,解释或编译执行阿,对于初学者不需要知道这么多,等熟练了再回来研究这些也不迟。咱们继续。
  4. 第一个php程序

    < ?php echo "hello world";//注释可以这样写 /* 也可以这样写 依然用hello word做第一个例子吧 */ ?>

    将此代码保存成”helloworld.php”放到上面说的网站根目录下。然后http://localhost/helloworld.php看看结果是什么?是不是有点激动呢??
    tips:编辑php可以用editplus或者ultraedit来进行。我个人喜欢editplus,速度快。

第二部分:服务器->浏览器之间的关系。

本站缓存机制之-PEAR Cache_lite清除缓存测试

Filed under: PHP,Wordpress,网站技术 — 江东 @ 2007-01-30 13:01:34 才(2)条评论

由于本站采用了PEAR Cache_lite作为永久缓存,所以不得不写一个插件,利用该插件实现当用户发布或者修改删除文章的时候自动清除缓存.那么这个时候就得考虑到Pear的Cache clear的效率了,如果清除缓存需要很久的话,那么发表、修改或者删除文章的时候,此插件会让操作的速度变得难以忍受。
说明:为了简单,当前我的插件实现的功能是在发布、修改或者删除文章的时候清除本站所有的缓存,这样实现肯定有局限,局限主要是清除缓存效率的问题。如果缓存太多,可能会造成速度很慢。如果谁有比较好的缓存生成和缓存删除的平衡点的话,希望您能给我留言,谢谢。
(read on …)

关于写代码的一些小诀窍

Filed under: PHP,网站技术 — 江东 @ 2007-01-27 17:47:42 还没有评论
  • if( myvar == ” the string you want ” )
    最好写成
    if( ” the string you want ” == myvar )
    为什么,如果你不小心写成 if( myvar = ” the string you want ” );那糟糕,程序就是不报错,你就是检查不出来错误在哪里。
    但是你要是不小心写成 if( ” the string you want ” = myvar );程序马上报错。
    这个是我以前从哪里看到的,忘记了,今天写wordpress插件的时候突然又想起来了。

完善中……

本站cache自动清除插件完成

Filed under: PHP,Wordpress,网站技术 — 江东 @ 2007-01-27 16:32:09 还没有评论

前段时间用写了一个ThemeCache,利用 PEAR的Cache_Lite将本站所有页面进行 缓存 。

本周再次发力,写了ajax留言程序,因此,即使页面处于cache状态也能更新留言数据。再接再厉,在后台写了一个清除cache的插件,激活该插件后,后台如果有人修改、发布或者删除文章之后,相关缓存会自动更新。因此本站缓存的时间现在已经设置成无限长,基本实现最大静态化。

补充: 突然想到,首页的最新评论可根发表以及删除文章无关,只有有最新的评论显示出来就得要更新,怎么处理呢。还是出绝招:index自身 ajax自身 index。
< ?php if( "4ajax" == $_GET['action']) : //为了显示首页的最新评论不得不出此下策?>
< ?php u_get_recent_comments(12); ?>
< ?php die(); endif;?>

< ?php require_once (TEMPLATEPATH . "/ThemeCache/cache_start.php");?>
< ?php get_header(); ?>
< ?php include (TEMPLATEPATH . "/config.php");//COS_INDEX_BANNER_ID?>



现在终于趋于完美。嘿嘿。