一小時入門PHP


[版權申明:本文系做者原創,轉載請註明出處]
文章出處:[http://blog.csdn.net/sdksdk0/article/details/52332296](http://blog.csdn.net/sdksdk0/article/details/52332296)
做者:朱培 ID:sdksdk0 郵箱: zhupei@tianfang1314.cn


最近在折騰那個安卓掃碼登陸的功能,而後網頁端是用php的作了,因而乎看一下php的資料,發現其實和java、jsp有不少相通的地方啊,語法什麼的,還有類的使用,感受很是類似,一個小時就徹底能夠搞定了php的基礎了,可是想要進一步深刻的學習和了解仍是須要時間的,這裏的話一小時入門php的前提是首先關係型數據庫總要很是熟悉吧,sql總要很是熟練的掌握了吧!常見的開源CMS系統:wordpress。DiscuzX論壇網站都是php的。php

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平臺上都可以運行。css

PHP5.0版本強化更多的功能。首先,徹底實現面向對象,提供名爲PHP兼容模式的功能。其次是XML功能,PHP5.0版本支持可直觀地訪問XML數據、名爲SimpleXML的XML處理用界面。同時還強化了XMLWeb服務支持,並且標準支持SOAP擴展模塊。數據庫方面,PHP新版本提供旨在訪問MySQL的新界面——MySQL。除此前的界面外,還可使用面向對象界面和預處理語句(Prepared Statement)等MySQL的新功能.另外,PHP5.0上還捆綁有小容量RDBMS-SQLite.html

環境搭建

首先咱們須要先安裝好apache,我這裏用的是appserver來安裝的。若是想要上傳要公網的服務器上的話可使用cygwin、ftp,我這裏使用的集成IDE是phpstorm,感受仍是很是方便的,這種IDE的風格和androidStudio的都差很少,因此上手很是快,並且能夠自動找到瀏覽器,總之是一款很是不錯的IDE。安裝配置這裏再也不重複囉嗦!java

常見的名詞:mysql

  • cygwin:在windows中模擬linux的環境。
  • apache httped:服務器。
  • Nginx:服務器。
  • xampp:應用服務器,快速搭建開發環境。
  • phpStorm:php集成開發環境。
  • ftp:協議,上傳文件。
  • ssh:一個命令,鏈接服務器。
  • scp:一個命令,上傳和下載文件。

php基本語法

在phpstorm中新建一個工程HelloPHP,而後建一個文件夾base,在裏面新建一個cc.php,格式就是jquery

<?php echo 'hello php'

在php中,全部用戶定義的函數都對大小寫不敏感,可是在全部變量對大小寫敏感。linux

常量和變量、數組、函數

咱們使用php,感受有點像jquery了,呵呵!android

聲明變量:git

$a=10;
    $a=20;
    $b=5;
    echo $a+$b;

若是要定義常量的話可使用:github

const  THE_VALUE=100;
    echo  THE_VALUE;

也能夠用函數來傳值:

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

常量只能被賦值一次,而變量能夠賦值屢次。

流程控制、循環

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);

若是使用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);

類、方法

新建一個類:

<?php class Hello{ public function sayHello(){ echo 'hello'; } }

這個地方和java很是類似啦,我就不說了!

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

include  'demo1.php';  //包含,若是沒有不會報錯。
    require  'demo1.php';  //依賴 ,若是沒有就報錯

    //同一個php在不一樣的地方重複引用,
    require_once  'demo1.php';

新建一個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';
    }

    }

庫函數

獲取時間:

//獲取時間
    //echo time();

    date_default_timezone_set('Asia/Shanghai');
    //日期
    echo  date('Y-m-d H:i:s');

操做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;

建立圖片

$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);

爲圖片添加水印

$img=imagecreatefrompng('img.png');

    imagestring($img,5,5,5,'www.tianfang1314.cn',imagecolorallocate($img,255,0,0));

    header('Content-type:image/png');
    imagepng($img);

操做文本
把數據寫到data的文本中:

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

把數據從data的文本中讀取出來:

$f=@fopen('data','r');

    while(!feof($f)){
    $content=fgets($f);
    echo $content;
    }

    fclose($f);

輸出內容:

echo file_get_contents('data');

上傳文件:

html頁面端:

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

php端:

$file=$_FILES['file'];
    $fileName=$file['name'];
    move_uploaded_file($file['tmp_name'],$fileName);

會話管理

這個的話和java中的cookie\session很是類似了。
設置cookie:

setcookie('name','tf');

獲取cookie:

echo  $_COOKIE['name'];

若是用戶禁用了cookie的話咱們能夠經過url來傳值處理。

session:

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

銷燬session

session_destroy();

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;
    }

使用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>

添加數據:

$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");
    }

修改數據:

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

刪除數據:

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

這裏寫圖片描述

總結:php的入門很是簡單,其門檻並不高,可是想要學深的話仍是須要一點功夫的,不少語言都具備互通性,學會總結各類語言之間的不一樣點,根據不一樣語言的特色來完成不一樣功能的項目的開發是很是有必要的!有些東西不要說很簡單很基礎就忘乎所以,仍是須要潛心學習研究,永遠不要驕傲自大!

本文中案例源碼下載地址:https://github.com/sdksdk0/HelloPHP

相關文章
相關標籤/搜索