把資料寫入txt檔有點複雜,學問有點大,而且發現換行的符號在不同系統是不一樣的,因此紀錄一下。
file_exits() 檔案是否存在 傳回值1,0
file_open() 打開檔案
參數
"r" 開啟為可讀取,檔案指標位於檔案開頭
"r+" 開啟為可讀寫,檔案指標位於檔案開頭
"w" 開啟為可寫入,檔案指標位於檔案開頭。若檔案已存在,則刪除其內容,若不存在則建立該檔案。
"w+" 開啟為可讀寫,檔案指標位於檔案開頭。若檔案已存在,則刪除其內容,若不存在則建立該檔案。
"a" 開啟為可寫入,檔案指標位於檔案結尾。若檔案不存在,則建立。
"a+" 開啟為可讀寫,檔案指標位於檔案結尾。若檔案不存在,則建立。
fclose() 檔案關閉
Windows 系統換行符號是: \r\n
Mac 系統換行符號是: \r
Linux 系統換行符號是: \n
正規表達式
開頭結尾:
^:比對字串的開始位置
$:比對字串的結束位置
指定匹配次數
*:比對前一個字元0次或以上
+:比對前一個字元1次或以上
?:比對前一個字元0次或1次以上
{數字}:比對前一個字母N次(n是整數數字),ex:/{3}/,意思比對字串aaapple,中的aaa3次,可是無法比對aa,因為已經指定3次,所以只能3次。
{,數字}:比對N次以下(N是整數)
{數字,}:比對前一個字母"至少"N次(N是整數數字),ex:/{3,}/,意思可比對aaa aaaapple,中的aaaa aaa3次,只能比對該字母3次或以上。
{數字1,數字2}:比對前字母N~M次(N跟M是整數),ex:/{3,4}/,意思可比對aaa aa aaaa apple,中的aaa aaaa符合,aa apple都不符合,只能比對a 3到4次,其他多的或少的,都無法比對。
特殊符號:
\:反斜線,避開特殊字元
.:比對任何次元
特定字元:
[字母或數字]:比對括號中出現的"任何"字元,只要一個不符合就false。ex:[A-Z]比對大寫英文字母A-Z,反之小寫[a-z]則是比對小寫字母,[0-9]比對數字。
[^字母或數字]:比對括號內以外的字元,也就是不要比括號裡出現的字母或數字。ex:/[^le],表示字串中apple中,不要比對le,指比對a,p,p
/字母/:比對字串內是否含有該字母,ex:/m/,就是比對該字串是否含有m字母。
/字母A字母B/:比對A或B。ex:/ab/,比對字串內是否有a或b。
其他:
\b:比對英文邊界,如空格
\d:比對任一數字,如[0-9]
\D:比對任何非數字,如[^0-9]
\w:比對數字字母跟底線,如[A-Za-z0-9_]
\W:比對非數字字母跟底線,[^A-Za-Z0-9_]
\s:比對任一空白字元
\S:比對任一非空白次元
\n:比對換行符號,是否換行
\t:比對定位字元(tab)
PHP 中有為數不少的超級全域變數 (superglobals) ,主要是用來接收使用者在 HTML 表單的輸入值,好使伺服器得到資料後能反應給使用者
超級全域變數如下表
$GLOBALS 以陣列 (array) 方式儲存全域變數,變數 (variable) 名稱為字串 (string) 索引值
$_SERVER 以陣列方式儲存跟伺服器有關的變數,如使用者的 IP 、瀏覽器等
$_GET 以陣列方式儲存利用表單 get 傳送的變數
$_POST 以陣列方式儲存利用表單 post 傳送的變數
$_FILES 以陣列方式儲存利用表單檔案處理方面的變數
$_COOKIE 以陣列方式儲存利用 cookie 的變數
$_SESSION 以陣列方式儲存利用 session 的變數
$_REQUEST 接收 $_GET 、 $_POST 、 $_COOKIE 等變數
$_ENV 以陣列方式儲存環境相關變數
範例:
<html>
<head>
<title>Encode Software</title>
<link rel="stylesheet" href="encryptor.css">
</head>
<body>
<div class="menu">
<a href="<?PHP echo $_SERVER['PHP_SELF']; ?>">Home</a> -
<a href="<?PHP echo $_SERVER['PHP_SELF'].'?op=record'; ?>">Record</a> -
<a href="<?PHP echo $_SERVER['PHP_SELF'].'?op=about'; ?>">About</a>
</div>
<div class="main">
<form action="<?PHP echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="input" size="67"><br / >
<input type="submit" value="New" name="op">
<input type="submit" value="Load" name="op">
<input type="submit" value="Encode" name="op">
<input type="submit" value="Decode" name="op">
<input type="submit" value="Clean" name="op">
</form>
</div>
<div class="display">
<?php
switch ($_REQUEST["op"]) {
case "New":
echo "There is <b>New</b> button.";
break;
case "Load":
echo "There is <b>Load</b> button.";
break;
case "Encode":
echo "There is <b>Encode</b> button. Your input is '{$_POST['input']}'.";
break;
case "Decode":
echo "There is <b>Decode</b> button. Your input is '{$_POST['input']}'.";
break;
case "Clean":
echo "There is <b>Clean</b> button.";
break;
case "record":
echo "There is <b><i>Record</i></b> page.";
break;
case "about":
echo "There is <b><i>About</i></b> page.";
break;
default:
echo "something happened";
}
?>
</div>
</body>
</html>
switch ($_REQUEST["op"]) {
case "New":
echo "There is <b>New</b> button.";
break;
case "Load":
echo "There is <b>Load</b> button.";
break;
case "Encode":
echo "There is <b>Encode</b> button. Your input is '{$_POST['input']}'.";
break;
case "Decode":
echo "There is <b>Decode</b> button. Your input is '{$_POST['input']}'.";
break;
case "Clean":
echo "There is <b>Clean</b> button.";
break;
case "record":
echo "There is <b><i>Record</i></b> page.";
break;
case "about":
echo "There is <b><i>About</i></b> page.";
break;
default:
echo "something happened";
}
case "Encode":
echo "There is <b>Encode</b> button. Your input is '{$_POST['input']}'.";
break;
case "Decode":
echo "There is <b>Decode</b> button. Your input is '{$_POST['input']}'.";
break;