php入门笔记

来源:互联网 发布:mac上word文档丢失 编辑:程序博客网 时间:2024/06/11 01:01

参考出处:(http://blog.csdn.net/sdksdk0/article/details/52332296) 

php简介

PHP是能让你生成动态网页的工具之一。PHP网页文件被当作一般HTML网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP。 
PHP代表:超文本预处理器(PHP: Hypertext Preprocessor)。PHP是完全免费的,不用花钱,你可以从PHP官方站点(http://www.php.net)自由下载。PHP遵守GNU公共许可(GPL),在这一许可下诞生了许多流行的软件诸如Linux和Emacs。你可以不受限制的获得源码,甚至可以从中加进你自己需要的特色。PHP在大多数Unix平台,GUN/linux和微软Windows平台上均可以运行。

PHP5.0版本强化更多的功能。首先,完全实现面向对象,提供名为PHP兼容模式的功能。其次是XML功能,PHP5.0版本支持可直观地访问XML数据、名为SimpleXML的XML处理用界面。同时还强化了XMLWeb服务支持,而且标准支持SOAP扩展模块。数据库方面,PHP新版本提供旨在访问MySQL的新界面——mysql。除此前的界面外,还可以使用面向对象界面和预处理语句(Prepared Statement)等MySQL的新功能.另外,PHP5.0上还捆绑有小容量RDBMS-SQLite.

环境搭建


首先我们需要先安装好apache,我这里用的是appserver来安装的。如果想要上传要公网的服务器上的话可以使用cygwin、ftp,我这里使用的集成IDE是phpstorm,感觉还是非常方便的,这种IDE的风格和androidStudio的都差不多,所以上手非常快,而且可以自动找到浏览器,总之是一款非常不错的IDE。安装配置这里不再重复啰嗦!

常见的名词:

  • cygwin:在windows中模拟linux的环境。
  • apache httped:服务器。
  • Nginx:服务器。
  • xampp:应用服务器,快速搭建开发环境。
  • phpStorm:php集成开发环境。
  • ftp:协议,上传文件。
  • ssh:一个命令,连接服务器。
  • scp:一个命令,上传和下载文件。

php基本语法

在phpstorm中新建一个工程HelloPHP,然后建一个文件夹base,在里面新建一个cc.php,格式就是

        <?php        echo 'hello php'
  • 1
  • 2
  • 1
  • 2

在php中,所有用户定义的函数都对大小写不敏感,但是在所有变量对大小写敏感。

常量和变量、数组、函数

我们使用php,感觉有点像jQuery了,呵呵!

声明变量:

  $a=10;    $a=20;    $b=5;    echo $a+$b;
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

如果要定义常量的话可以使用:

  const  THE_VALUE=100;    echo  THE_VALUE;
  • 1
  • 2
  • 1
  • 2

也可以用函数来传值:

   function traceNum($a,$b)    {    echo "a=$a,b=$b";    }    traceNum(3,4);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

常量只能被赋值一次,而变量可以赋值多次。

流程控制、循环

php的流程控制可以使用if else来处理以及switch,和java类似,可以使用break和continue来控制循环.

下面是一个if循环的例子,这里注意的是elseif是连在一起写的,不要分开,和Oracle中的存储函数类型,存储函数就是elsif来控制的,真的很像,呵呵!

    function getLevel($score){    if($score>90){    return '优秀';    }elseif($score>80){    return '良好';    }elseif($score>60){    return '合格';    }else{    return '不合格';    }    }    echo getLevel(93);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

如果使用switch的话可以这样:

    function getLevel($score){    $result='不合格';    switch(intval($score/10)){    case 10;    case 9:    $result='优秀';    break;    case 8:    $result='良好';    break;    case 7:    $result='好';    break;    case 6:    $result='合格';    break;    default:    $result='不合格';    break;    }    return $result;    }    echo getLevel(93);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

类、方法

新建一个类:

 <?php    class Hello{    public function sayHello(){    echo 'hello';    }    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这个地方和java非常相似啦,我就不说了!

就是引入文件使用:require,或者require_once

    include  'demo1.php';  //包含,如果没有不会报错。    require  'demo1.php';  //依赖 ,如果没有就报错    //同一个php在不同的地方重复引用,    require_once  'demo1.php';
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

新建一个man类,构造方法。

    class Man    {    /**     * @param $age年龄     * @param $name   名字     *     */    public  function __construct($age,$name){       // echo 'Construce  a man';    $this->_age=$age;    $this->_name=$name;    }    public function getAge(){    return $this->_age;    }    public function getName(){    return $this->_name();    }    private $_age,$_name;    public static function sayHello(){    echo 'hello man';    }    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

库函数

获取时间:

 //获取时间    //echo  time();    date_default_timezone_set('Asia/Shanghai');    //日期    echo  date('Y-m-d H:i:s');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

操作json

 //生成json格式的数据    $arr=array(1,2,3,5,7,'hello');    echo json_encode($arr);    $obj=array('h'=>'hello','w'=>'world',array(3,4,5,7));    echo json_encode($obj);    //解码    $jsonStr="{\"h\":\"hello\",\"w\":\"world\",\"0\":[3,4,5,7]}";    $obj=json_decode($jsonStr);    echo $obj->h;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

创建图片

    $img=imagecreate(400,300);    imagecolorallocate($img,255,255,255);    header('Content-type:image/png');    imageellipse($img,200,200,50,50,imagecolorallocate($img,255,0,0));    imagepng($img);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

为图片添加水印

    $img=imagecreatefrompng('img.png');    imagestring($img,5,5,5,'www.tianfang1314.cn',imagecolorallocate($img,255,0,0));    header('Content-type:image/png');    imagepng($img);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

操作文本 
把数据写到data的文本中:

 $f=@fopen('data','w');    fwrite($f,'hello php');    fclose($f);
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

把数据从data的文本中读取出来:

 $f=@fopen('data','r');    while(!feof($f)){    $content=fgets($f);    echo $content;    }    fclose($f);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

输出内容:

 echo file_get_contents('data');
  • 1
  • 1

上传文件:

html页面端:

     <form  action="upload.php"  method="post"  enctype="multipart/form-data">          <input type="file"  name="file"  >            <input type="submit" value="提交" />        </form>
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

php端:

    $file=$_FILES['file'];    $fileName=$file['name'];    move_uploaded_file($file['tmp_name'],$fileName);
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

会话管理

这个的话和java中的cookie\session非常相似了。 
设置cookie:

 setcookie('name','tf');
  • 1
  • 1

获取cookie:

    echo  $_COOKIE['name'];
  • 1
  • 1

如果用户禁用了cookie的话我们可以通过url来传值处理。

session:

session_start();$_SESSION['name']='tf';
  • 1
  • 2
  • 1
  • 2

销毁session

  session_destroy();
  • 1
  • 1

mysql连接

使用php和mysql的连接应该是非常重要和实用的功能了。下面以一个案例来说明php对mysql的表进行增删改查数据的操作。主要就是使用了mysql_query()来执行sql就可以了。非常简单便捷。

获取数据库的连接:

首先新建一个config.php放mysql数据库的连接配置文件:

 define('MYSQL_HOST','localhost:3306');   //mysql地址和端口号    define('MYSQL_USER','zp');   //用户名    define('MYSQL_PW','a');   //密码    function connecDB(){    $conn=mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PW);    if(!$conn){    die('can\'t  connection db');    }    mysql_select_db('day15');   //数据库的名字    return  $conn;    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

使用php和html来生成一个表格。

    <?php    require_once 'config.php';    ?>    <!DOCTYPE html>    <html lang="en">    <head>    <meta charset="UTF-8">    <title>Title</title>    </head>    <body>    <a href="adduser.html" >添加</a>    <table width='100%'  style='text-align: center;' border='1' >    <tr><th>id</th><th>用户名</th><th>密码</th><th>操作</th></tr>    <?php    /**     * Created by PhpStorm.     * User: asus     * Date: 2016/8/26     * Time: 14:28     */    $conn=connecDB();       /* mysql_select_db("day15");*/    $result=mysql_query("select * from phpuser",$conn);    $dataCount=mysql_num_rows($result);      //  echo $dataCount;    for($i=0;$i<$dataCount;$i++){    $result_arr=mysql_fetch_assoc($result);    //print_r($result_arr);    $id=$result_arr['id'];    $name=$result_arr['uname'];    $pwd=$result_arr['pwd'];    echo "<tr><td>$id</td><td>$name</td><td>$pwd</td><td><a href='updateuser.php?id=$id'>修改</a><a href='deleteuser.php?id=$id'>删除</a></td></tr>";    }    ?>    </table>    </body>    </html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

添加数据:

    $name=$_POST['uname'];    if(empty($name)){    die('user name  not define');    }    $pwd=$_POST['pwd'];    if(empty($pwd)){    die('user pwd  not define');    }    require_once 'function.php';    connecDB();    $pwd=intval($pwd);    mysql_query(" insert into phpuser(uname,pwd)  values('$name','$pwd')");    if(mysql_errno()){    echo mysql_error();    }else{    header("Location:alluser.php");    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

修改数据:

  mysql_query("update phpuser set uname='$name',pwd='$pwd'  where id='$id'");
  • 1
  • 1

删除数据:

   mysql_query("delete from phpuser  where id='$id'");
  • 1
  • 1

这里写图片描述

总结:php的入门非常简单,其门槛并不高,但是想要学深的话还是需要一点功夫的,很多语言都具有互通性,学会总结各种语言之间的不同点,根据不同语言的特点来完成不同功能的项目的开发是非常有必要的!有些东西不要说很简单很基础就得意忘形,还是需要潜心学习研究,永远不要骄傲自大!

原创粉丝点击