最近想了解了解PHP,写点入门感受。

来源:互联网 发布:如何取消8080端口占用 编辑:程序博客网 时间:2024/04/30 23:36

    知道PHP是需要apache配合运行的,从apache的官方下载了5.0,怎么装都失败。后来搜索到APMServ5.2.0,这个是中南民族大学张宴写的一个东东,将PHP、apache、Mysql都结合在一起了,并且实现了可视化操作,因为apache的配置是用文本编辑器打开的,命令方式。Mysql也是命令方式管理。

   APMServ 5.2.0 是一款拥有图形界面的快速搭建Apache 2.2.3、PHP 5.2.0、MySQL 5.0.27&4.0.26、SQLite、ZendOptimizer、OpenSSL、phpMyAdmin、SQLiteManager,以及ASP、CGI、Perl网站服务器平台的绿色软件。

1、注意事项:APMServ程序所在路径不能含有汉字和空格。
2、MySQL默认用户名:root,密码为空
3、MySQL数据库文件存放目录:MySQL5.0/data或MySQL4.0/data
4、网站根目录[HTML,PHP]www/htdocs [ASP]www/asp [CGI,Perl]www/cgi-bin
5、访问本机请用http://127.0.0.1/或https://127.0.0.1/ (如果开启SSL)
6、非默认端口,网址为http://127.0.0.1:端口/或https://127.0.0.1:端口/

    初看PHP,有这么几点需要记得的。

1.    PHP部分用<?php       ?>

2.    定义变量用$,如$i 

3.    输入用echo,如 echo "你好,朋友"。

4.    链接符用的是.. ,如 echo"序号是".$i."号"

5.    php里面的session是要定义成变量的,如果全局变量没有开,还要在apache配置中设置开放。php5是自动设置开放全局变量。如,打开session用session_start();  定义session用 $_session['SessionName'];

6.    php里面有趣的是可以定义变量的变量,比如提交页面上定义了name为Bx".$i."的复选框,处理页面处理的时候如下处理:
    $Boxnames[$i]="Bx".$i;
    $Boxvlaues[$i]=${$Boxnames[$i]};
    先建立了数组先定义了一个数组,然后数组的每一个元素作为变量,$Boxvalues[$i]就是取数组元素的值。

7.     php还有很多输出函数,可以实现格式输出,如print、printf。有些问题我是这样发现的,如下

    $Drink='青岛啤酒';
    echo"我们最喜欢喝$Drink";     //用双引号功能也可以这样写  echo"我们最喜欢喝".$Drink; 

    如果要输出变量名本身,就要用单引号,如:echo' 我们最喜欢喝$Drink';

    如果要输出标点符号,特别是英文的标点符号,需要转义字符,如要输出  我们最喜欢喝"青岛啤酒"  语句改为
    echo"我们最喜欢喝/"$Drink/"";

    还有print、printf等函数。 

8.    php的控制流程与asp差不多,如下

if
……………………
if (expr) {
  statement1
} else {
  statement2
}

while
……………………
while (expr) {
  statement
}

do..whilte 的语法如下

 

do {  statement} while (expr);
for
…………………………for 回圈就单纯只有一种,没有变化,它的语法如下

 

for (expr1; expr2; expr3) {  statement}

swicht控制
………………………………
switch (expr) {
case expr1:statement1;break;case expr2:statement2;break;::default:statementN;break;}
continue控制
………………………………

continue 即刻停止目前执行回圈,并回到回圈的条件判断处,见下例

<?php
while (list($key,$value) = each($arr)) {
  if (
$key 2) { // 略过偶数
    
continue;
  }
  
do_something_odd ($value);
}
?>


 

其它函数可以参考函数手册

 

9.使用习惯和链接数据库

 

 

  大家应该知道头文件的一些基本概念吧?头文件是一个外部文件,它的内容被包含到主程序中。方法也十分简单:在程序文件中引用头文件名,这个头文件就会包含进来了。在PHP中使用头文件,会涉及两个函数:include()和require()。这两个函数差别很小,却很重要,所以我们要认真研究一下。require()函数工作方式与XSSI相类似;不管在程序的哪个部分使用了这个函数,只有程序一开始运行,头文件的内容就被作为程序本身的一部分来处理。因此,如果您在一个条件判定语句中使用了require()函数,那么即使这个条件即使不为真,头文件也会被包含进来。


  而include()函数只是在执行到这一条语句时才会把头文件内容包含进来。如果程序没运行到这里,那PHP是不会管它的。这就意味着,您在条件判定部分使用include时,它会完全按照您希望的那样工作。


  还有,如果您用了require()函数,而您指定的头文件并不存在,那么程序将会停止运行并产生错误。如果您用了include(),程序会产生一个警告信息,但是会继续运行。您可以亲自试一下,运行下面的程序,然后把include()换成require(),再比较两个程序运行的结果。


<>

<>



<?php

include("emptyfile.inc");

echo "Hello World";

?>



</body>

</html>

  我喜欢把头文件的后缀名起成.inc,这样就可以把头文件和一般的程序区分开来。如果您也这么做,那么请您修改Web服务器软件的配置文件,使它能够把.inc文件也当作PHP文件来处理。否则,黑客们也许会猜到您的头文件名,然后用浏览器把头文件内容以纯文本格式显示出来。此时如果您的头文件中有些机密信息(如数据库口令等)那就糟糕了。


  那么,您用头文件来做什么呢?很简单!把对所有程序都通用的那些内容放到头文件里。象HTML文件头啦,脚注啦,数据库连接代码啦,还有您自己定义的一些函数什么的。把下面的文字拷贝到一个文件中,保存为header.inc。


<?php

$db = mysql_connect("localhost", "root");

mysql_select_db("mydb",$db);

?>

<>

<>

<>

<?php echo $title ?>

</title>

</head>

<>

<><><?php echo $title ?></h2></center>


  然后再创建另外一个文件,名字是footer.txt,该文件可以包含一些程序结束时用到的一些文字和标记。


  现在,我们再来创建一个文件,这个文件里面是真正的PHP程序代码。试一下下面的代码,当然,您要确认MySQL数据库服务器正在运行。


<?php

$title = "Hello World";

include("header.inc");

$result = mysql_query("SELECT * FROM employees",$db);

echo "< border=1>/n";


echo "<><>名字</td><>职位</tr>/n";

while ($myrow = mysql_fetch_row($result)) {

printf("<><>%s %s</td><>%s</tr>/n", $myrow[1], $myrow[2], $myrow[3]);

}

echo "</table>/n";

include("footer.inc");

?>

  看到发生了什么事了吗?头文件里的内容被合并到程序中,PHP把所有的代码都执行了一遍。注意在包含header.inc头文件之前$title是如何定义的。在header.inc中的代码可以访问到它的值。这样,网页的标题就被改掉了。现在,您可以在任何程序中使用header.inc头文件了,您所要做的不过是在每个主程序中为$title变量取一个合适的值。


  头文件、HTML、条件判定语句,还有循环语句,这些东西加在一些,您就可以用最简练的代码,写出功能各异的各种复杂程序来。在与函数同时使用时,头文件更能发挥它的效力,我们后面就会看到。 

 

10.各种数学运算类似于C,可以自行查看。

原创粉丝点击