第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

PHP進階篇

Jason PHP開發(fā)工程師
難度初級
時長 9小時28分
學習人數(shù)
綜合評分8.90
570人評價 查看評價
9.3 內(nèi)容實用
8.8 簡潔易懂
8.6 邏輯清晰
  • PHP使用unlink函數(shù)進行文件刪除。

    unlink($filename);

    刪除文件夾使用rmdir函數(shù),文件夾必須為空,如果不為空或者沒有權(quán)限則會提示失敗。

    rmdir($dir);

    如果文件夾中存在文件,可以先循環(huán)刪除目錄中的所有文件,然后再刪除該目錄,循環(huán)刪除可以使用glob函數(shù)遍歷所有文件。

    foreach (glob("*") as $filename) {
    ? unlink($filename);
    }


    查看全部
  • PHP寫文件也具有兩種方式,最簡單的方式是采用file_put_contents。

    $filename = './test.txt';
    $data = 'test';//文件內(nèi)容
    file_put_contents($filename, $data);


    查看全部
  • filesize函數(shù)可以取得文件的大小,文件大小是以字節(jié)數(shù)表示的。

    $filename = '/data/webroot/usercode/resource/test.txt';
    $size = filesize($filename);

    如果要轉(zhuǎn)換文件大小的單位,可以自己定義函數(shù)來實現(xiàn)。

    function getsize($size, $format = 'kb') {
    ? ?$p = 0;
    ? ?if ($format == 'kb') {
    ? ? ? ?$p = 1;
    ? ?} elseif ($format == 'mb') {
    ? ? ? ?$p = 2;
    ? ?} elseif ($format == 'gb') {
    ? ? ? ?$p = 3;
    ? ?}
    ? ?$size /= pow(1024, $p);
    ? ?return number_format($size, 3);
    }$filename = '/data/webroot/usercode/code/resource/test.txt';$size = filesize($filename);$size = getsize($size, 'kb'); //進行單位轉(zhuǎn)換echo $size.'kb';


    查看全部
  • 文件有很多元屬性,包括:文件的所有者、創(chuàng)建時間、修改時間、最后的訪問時間等。

    fileowner:獲得文件的所有者filectime:獲取文件的創(chuàng)建時間filemtime:獲取文件的修改時間fileatime:獲取文件的訪問時間

    其中最常用的是文件的修改時間,通過文件的修改時間,可以判斷文件的時效性,經(jīng)常用在靜態(tài)文件或者緩存數(shù)據(jù)的更新。

    $mtime = filemtime($filename);
    echo '修改時間:'.filemtime($filename);


    查看全部
  • $filename = './test.txt';
    if (file_exists($filename)) {
    ? ?echo file_get_contents($filename);
    }

    如果只是判斷文件存在,使用file_exists就行,file_exists不僅可以判斷文件是否存在,同時也可以判斷目錄是否存在,從函數(shù)名可以看出,is_file是確切的判斷給定的路徑是否是一個文件。

    $filename = './test.txt';
    if (is_file($filename)) {
    ? ?echo file_get_contents($filename);
    }

    使用is_readable與is_writeable在文件是否存在的基礎(chǔ)上,判斷文件是否可讀與可寫。

    $filename = './test.txt';
    if (is_writeable($filename)) {
    ? ?file_put_contents($filename, 'test');
    }
    if (is_readable($filename)) {
    ? ?echo file_get_contents($filename);
    }


    查看全部
  • 讀取文件的函數(shù)為file_get_contents,可以將整個文件全部讀取到一個字符串中。

    $content = file_get_contents('./test.txt');

    file_get_contents也可以通過參數(shù)控制讀取內(nèi)容的開始點以及長度。

    $content = file_get_contents('./test.txt', null, null, 100, 500);

    PHP也提供類似于C語言操作文件的方法,使用fopen,fgets,fread等方法,fgets可以從文件指針中讀取一行,freads可以讀取指定長度的字符串。

    $fp = fopen('./text.txt', 'rb');
    while(!feof($fp)) {
    ? ?echo fgets($fp); //讀取一行
    }
    fclose($fp);

    ?

    $fp = fopen('./text.txt', 'rb');
    $contents = '';
    while(!feof($fp)) {
    ? ?$contents .= fread($fp, 4096); //一次讀取4096個字符
    }
    fclose($fp);

    使用fopen打開的文件,最好使用fclose關(guān)閉文件指針,以避免文件句柄被占用。


    編寫代碼讀取$filename的文件內(nèi)容。

    $content = file_get_contents($filename);
    echo $content;


    查看全部
  • PHP的unset函數(shù),刪除后就會從全局變量$_SESSION中去除,無法訪問。

    session_start();
    $_SESSION['name'] = 'jobs';
    unset($_SESSION['name']);
    echo $_SESSION['name']; //提示name不存在

    如果要刪除所有的session,可以使用session_destroy函數(shù)銷毀當前session,session_destroy會刪除所有數(shù)據(jù),但是session_id仍然存在。

    session_start();
    $_SESSION['name'] = 'jobs';
    $_SESSION['time'] = time();
    session_destroy();


    查看全部
  • session_start();
    $_SESSION['test'] = time();
    var_dump($_SESSION);

    session會自動的對要設(shè)置的值進行encode與decode,因此session可以支持任意數(shù)據(jù)類型,包括數(shù)據(jù)與對象等。

    session_start();
    $_SESSION['ary'] = array('name' => 'jobs');
    $_SESSION['obj'] = new stdClass();
    var_dump($_SESSION);


    設(shè)置一個session,使name的值為jobs:

    session_start();

    $_SESSION['name'] = 'jobs';


    查看全部
    0 采集 收起 來源:使用session

    2021-02-12

  • <?php

    //開始使用session

    session_start();

    //設(shè)置一個session

    $_SESSION['test'] = time();

    //顯示當前的session_id

    echo "session_id:".session_id();

    echo "<br>";


    //讀取session值

    echo $_SESSION['test'];


    //銷毀一個session

    unset($_SESSION['test']);

    echo "<br>";

    var_dump($_SESSION);


    查看全部
  • 設(shè)置了有效路徑的時候,不在當前路徑的時候則看不到當前cookie。

    setcookie('test', '1',0, '/path'); ?
    var_dump($_COOKIE['test']); ?


    查看全部
  • PHP中刪除cookie也是采用setcookie函數(shù)來實現(xiàn)。

    setcookie('test', '', time()-1);


    查看全部
  • setcookie具有7個可選參數(shù),我們常用到的為前5個:

    name(?Cookie名)可以通過$_COOKIE['name'] 進行訪問
    value(Cookie的值)
    expire(過期時間)Unix時間戳格式,默認為0,表示瀏覽器關(guān)閉即失效
    path(有效路徑)如果路徑設(shè)置為'/',則整個網(wǎng)站都有效
    domain(有效域)默認整個域名都有效,如果設(shè)置了'idcbgp.cn',則只在www子域中有效

    $value = 'test';
    setcookie("TestCookie", $value);//名字是'TestCookie',值為value
    setcookie("TestCookie", $value, time()+3600); ?//有效期一小時
    setcookie("TestCookie", $value, time()+3600, "/path/", "imooc.com"); //設(shè)置路徑與域

    PHP中還有一個設(shè)置Cookie的函數(shù)setrawcookie,setrawcookie跟setcookie基本一樣,唯一的不同就是value值不會自動的進行urlencode,因此在需要的時候要手動的進行urlencode。

    setrawcookie('cookie_name', rawurlencode($value), time()+60*60*24*365);

    因為Cookie是通過HTTP標頭進行設(shè)置的,所以也可以直接使用header方法進行設(shè)置。

    header("Set-Cookie:cookie_name=value");


    查看全部
    0 采集 收起 來源:設(shè)置cookie

    2021-02-11

  • 正則匹配常用在表單驗證上

    <?php

    $user = array(

    ? ? 'name' => 'spark1985',

    ? ? 'email' => 'spark@imooc.com',

    ? ? 'mobile' => '13312345678'

    );

    //進行一般性驗證

    if (empty($user)) {

    ? ? die('用戶信息不能為空');

    }

    if (strlen($user['name']) < 6) {

    ? ? die('用戶名長度最少為6位');

    }

    //用戶名必須為字母、數(shù)字與下劃線

    if (!preg_match('/^\w+$/i', $user['name'])) {

    ? ? die('用戶名不合法');

    }

    //驗證郵箱格式是否正確

    if (!preg_match('/^[\w\.]+@\w+\.\w+$/i', $user['email'])) {

    ? ? die('郵箱不合法');

    }

    //手機號必須為11位數(shù)字,且為1開頭

    if (!preg_match('/^1\d{10}$/i', $user['mobile'])) {

    ? ? die('手機號不合法');

    }

    echo '用戶信息驗證成功';


    查看全部
  • 調(diào)整字符串的日期格式:

    $string = 'April 15, 2014';
    $pattern = '/(\w+) (\d+), (\d+)/i';
    $replacement = '$3, ${1} $2';
    echo preg_replace($pattern, $replacement, $string); //結(jié)果為:2014, April 15

    其中${1}與$1的寫法是等效的,表示第一個匹配的字串,$2代表第二個匹配的。


    將目標字符串$str中的文件名替換后增加em標簽,例如index.php要替換成<em>index.php</em>。

    $str = '主要有以下幾個文件:index.php, style.css, common.js';
    $p = '/\w+\.\w+/i';
    $str = preg_replace($p, '<em>$0</em>', $str);
    echo $str;//$0匹配所有字串


    查看全部
  • preg_match只能匹配一次結(jié)果,但很多時候我們需要匹配所有的結(jié)果,preg_match_all可以循環(huán)獲取一個列表的匹配結(jié)果數(shù)組。

    $p = "|<[^>]+>(.*?)</[^>]+>|i";
    $str = "<b>example: </b><div align=left>this is a test</div>";
    preg_match_all($p, $str, $matches);
    print_r($matches);

    可以使用preg_match_all匹配一個表格中的數(shù)據(jù):

    $p = "/<tr><td>(.*?)<\/td>\s*<td>(.*?)<\/td>\s*<\/tr>/i";
    $str = "<table> <tr><td>Eric</td><td>25</td></tr> <tr><td>John</td><td>26</td></tr> </table>";
    preg_match_all($p, $str, $matches);
    print_r($matches);


    使用preg_match_all匹配所有l(wèi)i標簽中的數(shù)據(jù)。

    $p = "/<li>(.*)<\/li>/i";
    preg_match_all($p, $str, $matches);
    print_r($matches[1]);

    //解釋下這個正則://后面的i表示不區(qū)分大小寫,<li>(.*?)<\/li>表示li標簽內(nèi)的匹配的()內(nèi)的值有多少,括號內(nèi)的.表示所有單字符,*表示數(shù)量為0個或者多個。也就是li標簽內(nèi)有字符就顯示出來


    查看全部

舉報

0/150
提交
取消
課程須知
需要有一定的網(wǎng)頁基礎(chǔ)知識如HTML、CSS樣式等,并且已經(jīng)學習完成《PHP入門篇》對PHP已經(jīng)有了簡單的了解,如變量、常量、數(shù)據(jù)類型等。
老師告訴你能學到什么?
全面的掌握PHP的理論知識與實踐中的應(yīng)用方法,提高編程能力與掌握網(wǎng)頁開發(fā)技能。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對慕課網(wǎng)的支持!