我爱编程

11-Ajax(二)PHP相关知识及语法介绍

2017-09-08  本文已影响67人  magic_pill

PHP基础

服务端web开发

PHP简介

PHP常见语法

<?php
  //这是单行注释
  /*
      这是多行注释
  */
?>
// 字符串
$str = '123';

// 字符串连接
$str2 = '123'.'哈哈哈';

// 整数
$numA = 1; //正数
$numB = -2;//负数

// 浮点数
$x = 1.1;

// 布尔
$a = true;
$b = false;

// 普通数组:数组中可以放数字、字符串、布尔值等等不限制类型
$arr = array('123',123)
//取数组里的数据
$arr[1];

// 关系型数组:类似于json的格式,但是不是“:”,而是使用“=>”分隔键值对,获取通过“["key"]”即可获取
$person = array('name'=>'小李子','age'=>'35','skill'=>'发福');
echo $person['skill'];
<?php
    $x=10;
    $y=6;
    echo ($x + $y); // 输出 16
    echo ($x - $y); // 输出 4
    echo ($x * $y); // 输出 60
    echo ($x / $y); // 输出 1.6666666666667
    echo ($x % $y); // 输出 4
?>
// 基础语法
function functionName() {
  //这里写代码
}

// 无参数 无返回值的函数
function sayhi(){
    echo "Hello World";
}

// 有参数 无返回值的函数
function sayName($name){
    echo $name.'你好哦';
}
// 调用
sayName('小狐狸');

// 有参数,参数有默认值的函数
function sayFood($food='西兰花'){
    echo $food.'好好吃';
}
// 调用
sayFood('西葫芦');// 如果传入参数,就使用传入的参数
sayFood();// 如果不传入参数,直接使用默认值

// 有参数,有返回值的函数
function sum($a,$b){
    return $a+$b
}
sum(1,2);// 返回值为1+2 = 3
// 定义最基础的类
class Fox{
    public $name = 'tangtang';
    public $age = 10;
}
$fox = new Fox;
// 对象属性取值
$name = $fox->name;
// 对象属性赋值
$fox->name = '小狐狸';

// 带构造函数的对象
class fox{
    // 私有属性,外部无法访问
    var $name = '小狐狸';
    // 定义方法 用来获取属性
    function Name(){
        return $this->name;
    }
    // 构造函数,可以传入参数
    function fox($name){
        $this->name = $name
    }
}
// 定义了构造函数 需要使用构造函数初始化对象
$fox = new fox('小狐狸');
// 调用对象方法,获取对象名
$foxName = $fox->Name();
$arr =array(1,2,'123');

echo '123';
// 结果为 123

print_r($arr);
// 结果为 Array ( [0] => 1 [1] => 2 [2] => 123 )

var_dump($arr);
/* 结果为
    array
  0 => int 1
  1 => int 2
  2 => string '123' (length=3)
*/
$sex = "man";
if ($sex == "man"){
       echo "男生";
}else {
       echo "女生";
}
$day = "friday";
switch($day){
        case "monday":
            echo "感觉自己被床封印了";
            break;
        case "friday":
            echo "哇塞,明天就可以休息咯";
            break;
        default:
            echo "感觉自己被掏空";
            break;
}
for ($x=0; $x<=10; $x++) {
        echo "数字是:$x <br>";
}
$colors = array("red","green","blue","yellow");
// 参数1为循环的对象,参数2会将对象的值挨个取出,直到最后
// 如果循环的是对象的话,输出的是对象属性的值
foreach ($colors as $value) {
        echo "$value <br>";
}
输出结果为
/*
red
green
blue
yellow
*/
$num = 0;
while($num <= 10){
        echo "报数:"."$num"."<br>";
        $num++;
}

header()函数

header("content-type:text/html; charset=utf-8");
header("location:http://www.baidu.com");
header("refresh:3;url=http://www.taobao.com");

网络数据提交

PHP$_GET数据获取

<form action="01.php" method="get" >
    <label for="">姓名:
        <input type="text" name="userName">
    </label>
    <br/>
    <label for="">邮箱:
        <input type="text" name= "userEmail">
    </label>
    <br/>
    <input type="submit" name="">
</form>
<?php
    echo "<h1>GET_PAGE</h1>";
    echo 'userName:'.$_GET['userName'];
    echo '<br/>';
    echo 'userEmail:'.$_GET['userEmail'];
 ?>

PHP$_POST数据获取

<form action="02.php" method="post" >
    <label for="">姓名:
        <input type="text" name= "userName">
    </label>
    <br/>
    <label for="">邮箱:
        <input type="text" name= "userEmail">
    </label>
    <br/>
    <input type="submit" name="">
</form>
<?php
    echo "<h1>POST_PAGE</h1>";
    echo 'userName:'.$_POST['userName'];
    echo '<br/>';
    echo 'userEmail:'.$_POST['userEmail'];
 ?>

POST&GET错误处理

    if(array_key_exists('name', $_GET)){
        //如果有数据,再去读取
    }else{
        // 反之,可以执行一些其他的逻辑
    }

GET和POST的区别:

php在实际开发中的使用方式

PHP文件上传处理01-$_FILES对象(上传文件)

<form action="03.fileUpdate.php" method="post" enctype="multipart/form-data">
    <label for="">照片:
        <input type="file" name = "picture">
    </label>
    <br/>
    <input type="submit" name="">
  </form>
<?php
        sleep(5);//单位秒。 在临时保存的文件夹里面看不到东西,因为立刻就被删除了,提交之后让服务器休息一会,可以看到临时文件夹里面的文件
        print_r($_FILES);//可以打印 $_FILES的所有信息
?>

PHP文件上传处理02-移动文件

<form action="03.fileUpdate.php" method="post" enctype="multipart/form-data">
    <label for="">照片:
        <input type="file" name = "picture">
    </label>
    <br/>
    <input type="submit">
</form>
Array ( [picture] => Array (
        [name] => computer.png
        [type] => image/png
        [tmp_name] => D:\wamp\tmp\php8913.tmp
        [error] => 0 [size] => 5212 )
    )
<?php
    sleep(5);// 让服务器休息一会,方便我们查看上传的临时文件
    // 第一个参数是:要移动的文件
    // 第二个参数是:目标位置(写的是相对路径,相对于该php文件的路径)
    move_uploaded_file($_FILES['picture']['tmp_name'], './upload/'.$_FILES['picture']['name']);
 ?>

PHP设置上传文件的大小

修改php.ini

修改内容

file_uploads = On;  //是否允许上传文件 On/Off 默认是On
upload_max_filesize = 32M;  //上传文件的最大限制
post_max_size = 32M;    //通过Post提交的最多数据
max_execution_time = 30000; //脚本最长的执行时间,单位为秒
max_input_time = 600;   //接收提交数据的时间限制,单位为秒
memory_limit = 1024M;   //最大的内存消耗

PHP与js的区别:

上一篇下一篇

猜你喜欢

热点阅读