PHP零基礎入門

標題圖

PHP中的常量.png

PHP中的運算符.png

PHP中的流程控制.png

深刻淺出MySQL數據庫.png

字符函數庫: 函數庫基礎 安裝字符串函數庫 字符串函數庫列表javascript

函數是能夠實現特定功能,能夠重複執行的代碼段。php

函數分 內置函數 和 用戶函數。html

內置函數是指PHP自己提供的各種庫函數。java

字符串函數庫,是PHP核心的組成部分node

獲取字符串長度:strlen函數mysql

int strlen(string $str)
複製代碼

utf-8中文一個表明3個。strlen用於英文等,無中文。sql

大小寫轉換:數據庫

$str('hh');
strtoupper($str1);
複製代碼

ucfirst函數,將句子首字母轉換爲大寫,ucwords函數將每一個單詞的首字母轉換爲大寫。數組

string ucfirst(string $str) 和 string ucwords(string $str)
複製代碼

字符串的替換函數緩存

str_replace函數區分大小寫,str_ireplace函數不區分大小寫。

str_replace('a','b',$str); // a 換 b ,是注意大小寫的。
複製代碼

htmlspecialchars函數,預約義的字符串轉換爲html實體。

string htmlspecialchars(string $str [,int $flags = ENT_COMPAT)
複製代碼

image.png

Itrim函數,用於實現刪除字符串開始位置的空格或其餘字符,用於刪除開始的空格,後面無論。

rtrim函數用於實現刪除字符串結束位置的空格,或者是其餘字符。

string rtrim(string $str[,string $charlist])
複製代碼

trim函數用於實現刪除字符串開始和結束的位置刪除空格。

獲取字符串位置相關函數

strpos函數,返回一個字符在另外一個字符第一次出現的位置

stripos函數,同理,可是忽略大小寫的

strrpos函數,返回的是一個字符串在另外一個字符串最後一次出現的位置,strripos函數忽略大小寫

字符串截取函數

substr函數,用於實現截取字符串

string substr(string $string, int $start [, int $length])
複製代碼
$str = 'javascript';
echo substr($str, 0, 4);
複製代碼
<?php
header('content-type:text/html;charset=utf-8');
$filename = 'ab.sd.jpEg';
$num = strrpos($filename, '.');
echo strtolower(substr($filename,$num+1));
?>
// jpEg
複製代碼

strstr函數,將返回一個字符串在另外一個字符串中第一次出現的位置,區分大小寫。同理,stristr函數忽略大小寫。

strrchr函數,將返回一個字符串在另外一個字符串最後一次出現的位置。

strrev函數,用於反轉字符串。

md5();函數加密。

分割字符串

explode函數,使用一個字符串分割另外一個字符串。

$str = "a|b|c";
$arr = explode("|", $str);
複製代碼

implode函數,用於將一個一維數組的值轉化爲字符串。

$arr = array('a','b','c');
$str = implode(',', $arr);
複製代碼

格式化字符串:

sprintf函數,格式化字符串。

image.png

數學函數

image.png

image.png

求平方根sqrt

float sqrt(float $arg)
複製代碼

最大最小值:max函數,min函數

隨機數:rand函數,mt_rand函數。

四捨五入函數,round函數用於實現四捨五入

數字格式化:number_format函數

image.png

格式化日期:

image.png

image.png

image.png

time函數,返回當前Unix時間戳 字符串轉時間戳strtotime函數。

生成惟一iduniqid函數。

獲取日期:

getdate函數,獲取日期

image.png

數組.png

定義數組:

array()
[]
range()
compact()
define()
複製代碼
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <form class="" action="#" method="post" enctype="multipart/form-data">
      <input type="file" name="files[]" value=""> <br>
      <input type="file" name="files[]" value=""> <br>
      <input type="file" name="files[]" value=""> <br>
      <input type="submit" name="name" value="">
    </form>
    <?php
    print_r($_FILES);
    ?>
  </body>
</html>
複製代碼
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>註冊頁面</title>
</head>
<body>
  <form action="doReg.php" method="post">
    <input type="text" name="username" id="" placeholder="請輸入合法用戶名"> <br>
    <input type="password" name="password" id="" placeholder="請輸入密碼"> <br>
    <input type="email" name="email" id="" placeholder="請輸入合法郵箱"> <br>
    <input type="submit" value="註冊">
  </form>
</body>
</html>
複製代碼

數組的遍歷:

經過foreach遍歷,經過數組的指針函數遍歷數組,經過eachlist()遍歷數組。

foreach語法結構提供了遍歷數組的簡單方式。foreach應用於數組和對象。

key($arr)獲得當前指針所咋位置的鍵名 current($arr)獲得當前指針所在位置的鍵值

next()將數組中的內部指針向前移動一位,向下移動 prev()向上移動

each 返回數組中當前的鍵/值對並將數組指針向前移動一步

什麼是cookie?cookie有什麼用?與cookie相關函數。

image.png

array_multisort對多個數組或多維數組進行排序 array_pad用值將數組填補到指定長度 array_pop將數組最後一個單元彈出 array_product計算數組中全部值的乘積 array_push將一個多多個單元壓入數組的末尾 array_rand從數組中隨機取出一個或多個單元 array_reduce用回調函數迭代地將數組簡化爲單一的值 array_reverse返回一個單元順序相反的數組 array_search在數組中搜索給定的值

image.png

<?php
$username=$_POST['username'];
$password=$_POST['password'];
$email=$_POST['email'];
$userInfo=compact('username','password','email');
print_r($userInfo);
/*

Array
(
    [username] => 
    [password] => 
    [email] => @qq.com
)
array_keys():
array_values():
*/
//INSERT user(username,password,email) VALUES('aaa','bbb','ccc');
$keys=join(',',array_keys($userInfo));
$vals="'".join("','",array_values($userInfo))."'";
// print_r($keys);
// print_r($vals);
$sql="INSERT user({$keys}) VALUES({$vals})";
echo $sql;
複製代碼

什麼是session?爲啥使用session?session的工做原理,與session相關的函數,php配置中的session片斷。

session會話控制

image.png

image.png

php操做mysql

mysql非永久鏈接,性能比較低 mysqli永久鏈接,減輕服務器壓力 pdo能實現mysqli的經常使用功能

mysql鏈接數據庫

鏈接數據庫

mysql_connect($server, $username, $password)
複製代碼

選擇數據庫

mysql_select_db($database_name)
複製代碼

設置字符串

mysql_set_charset($charset)
複製代碼

mysql方法執行sql語句

mysql_query($query)insert,update,drop之類的操做,執行成功爲true,不然爲false

數據庫:

create table addbasicsituation (
BId int(100) not null auto_increment,
primary key(BId)
) engine=InnoDB default charset = utf8
複製代碼
$sql = "CREATE TABLE `addappearanceparameter` ( `FId` int(100) NOT NULL AUTO_INCREMENT, PRIMARY KEY(`FId`) )ENGINE=InnoDB DEFAULT CHARSET=utf8";
mysql_query($sql);

$sql1 = "ALTER TABLE `addappearanceparameter` ADD `{$row['FName']}` VARCHAR( 100 ) NOT NULL DEFAULT '無'";
mysql_query($sql1);
複製代碼
CREATE TABLE `addcellparameters` (
  `XId` int(100) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`XId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
複製代碼

PHP mysql_fetch_array() 函數

image.png

mysql_assoc
mysql_num
mysql_both
複製代碼
$sql = "select * from person where name='add'";
$result = mysql_query($sql,$con);
print_r(mysql_fetch_array($result));
複製代碼

PHP mysql_fetch_row() 函數,函數從結果集中取得一行做爲數字數組。

PHP mysql_fetch_assoc() 函數

session的工做原理

第一次訪問,進行http請求,進行初始化session,建立sessionID,將session數據存儲到預約義變量$_SESSION中,頁面執行完畢,將session信息存儲到文件,另外一條,將http響應,帶有sessionID顯示頁面sessionID存儲到cookie

進行第二次訪問,http請求,帶有sessionID,進行session初始化,根據sessionID讀取文件(session文件),進行執行php代碼,頁面執行完畢將session信息存儲到session文件,另外一個http響應,帶有sessionID顯示頁面,進行退出。

註解session和刪除session文件。

image.png

image.png

image.png

setcookie函數,設置cookie

image.png

image.png

PHP核心函數庫之文件目錄函數庫.png

文件操做

文件目錄函數庫:文件信息相關,文件操做相關,內容操做相關。

目錄,資源類型 預約義變量

directory - directory類
directory::close 釋放目錄句柄
directory::read 從目錄句柄中讀取條目
directory::rewind 倒回目錄句柄
複製代碼
chdir — 改變目錄
chroot — 改變根目錄
closedir — 關閉目錄句柄
dir — 返回一個 Directory 類實例
getcwd — 取得當前工做目錄
opendir — 打開目錄句柄
readdir — 從目錄句柄中讀取條目
rewinddir — 倒回目錄句柄
scandir — 列出指定路徑中的文件和目錄
複製代碼

文件信息

Fileinfo 函數finfo_buffer — 返回一個字符串緩衝區的信息
finfo_close — 關閉 fileinfo 資源
finfo_file — 返回一個文件的信息
finfo_open — 建立一個 fileinfo 資源
finfo_set_flags — 設置 libmagic 配置選項
mime_content_type — 檢測文件的 MIME 類型
finfo — finfo 類finfo::buffer — 別名 finfo_buffer()
finfo::__construct — 別名 finfo_open
finfo::file — 別名 finfo_file()
finfo::set_flags — 別名 finfo_set_flags()
複製代碼

文件系統

basename — 返回路徑中的文件名部分
chgrp — 改變文件所屬的組
chmod — 改變文件模式
chown — 改變文件的全部者
clearstatcache — 清除文件狀態緩存
copy — 拷貝文件
delete — 參見 unlink 或 unset
dirname — 返回路徑中的目錄部分
disk_free_space — 返回目錄中的可用空間
disk_total_space — 返回一個目錄的磁盤總大小
diskfreespace — disk_free_space 的別名
fclose — 關閉一個已打開的文件指針
feof — 測試文件指針是否到了文件結束的位置
fflush — 將緩衝內容輸出到文件
fgetc — 從文件指針中讀取字符
fgetcsv — 從文件指針中讀入一行並解析 CSV 字段
fgets — 從文件指針中讀取一行
fgetss — 從文件指針中讀取一行並過濾掉 HTML 標記
file_exists — 檢查文件或目錄是否存在
file_get_contents — 將整個文件讀入一個字符串
file_put_contents — 將一個字符串寫入文件
file — 把整個文件讀入一個數組中
fileatime — 取得文件的上次訪問時間
filectime — 取得文件的 inode 修改時間
filegroup — 取得文件的組
fileinode — 取得文件的 inode
filemtime — 取得文件修改時間
fileowner — 取得文件的全部者
fileperms — 取得文件的權限
filesize — 取得文件大小
filetype — 取得文件類型
flock — 輕便的諮詢文件鎖定
fnmatch — 用模式匹配文件名
fopen — 打開文件或者 URL
fpassthru — 輸出文件指針處的全部剩餘數據
fputcsv — 將行格式化爲 CSV 並寫入文件指針
fputs — fwrite 的別名
fread — 讀取文件(可安全用於二進制文件)
fscanf — 從文件中格式化輸入
fseek — 在文件指針中定位
fstat — 經過已打開的文件指針取得文件信息
ftell — 返回文件指針讀/寫的位置
ftruncate — 將文件截斷到給定的長度
fwrite — 寫入文件(可安全用於二進制文件)
glob — 尋找與模式匹配的文件路徑
is_dir — 判斷給定文件名是不是一個目錄
is_executable — 判斷給定文件名是否可執行
is_file — 判斷給定文件名是否爲一個正常的文件
is_link — 判斷給定文件名是否爲一個符號鏈接
is_readable — 判斷給定文件名是否可讀
is_uploaded_file — 判斷文件是不是經過 HTTP POST 上傳的
is_writable — 判斷給定的文件名是否可寫
is_writeable — is_writable 的別名
lchgrp — 修改符號連接的全部組
lchown — 修改符號連接的全部者
link — 創建一個硬鏈接
linkinfo — 獲取一個鏈接的信息
lstat — 給出一個文件或符號鏈接的信息
mkdir — 新建目錄
move_uploaded_file — 將上傳的文件移動到新位置
parse_ini_file — 解析一個配置文件
parse_ini_string — 解析配置字符串
pathinfo — 返回文件路徑的信息
pclose — 關閉進程文件指針
popen — 打開進程文件指針
readfile — 輸出文件
readlink — 返回符號鏈接指向的目標
realpath_cache_get — 獲取真實目錄緩存的詳情
realpath_cache_size — 獲取真實路徑緩衝區的大小
realpath — 返回規範化的絕對路徑名
rename — 重命名一個文件或目錄
rewind — 倒回文件指針的位置
rmdir — 刪除目錄
set_file_buffer — stream_set_write_buffer 的別名
stat — 給出文件的信息
symlink — 創建符號鏈接
tempnam — 創建一個具備惟一文件名的文件
tmpfile — 創建一個臨時文件
touch — 設定文件的訪問和修改時間
umask — 改變當前的 umask
unlink — 刪除文件
複製代碼

文件上傳

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <h1>文件上傳</h1>
  <form action="doUpload.php" method='post' enctype="multipart/form-data">
    <input type="file" name="myFile" id="">
    <input type="submit" value="當即上傳">
  </form>
</body>"經常使用操做"
</html>
複製代碼
<?php
require_once 'file.func.php';
$fileInfo=$_FILES['myFile'];
var_dump(upload_file($fileInfo));
複製代碼
<?php
require_once 'file.func.php';
$filename=$_GET['filename'];
down_file1($filename);
複製代碼

結言

好了,歡迎在留言區留言,與你們分享你的經驗和心得。

感謝你學習今天的內容,若是你以爲這篇文章對你有幫助的話,也歡迎把它分享給更多的朋友,感謝。

做者簡介

達叔,理工男,簡書做者&全棧工程師,感性理性兼備的寫做者,我的獨立開發者,我相信你也能夠!閱讀他的文章,會上癮!,幫你成爲更好的本身。長按下方二維碼可關注,歡迎分享,置頂尤佳。

努力努力再努力Jeskson
相關文章
相關標籤/搜索