什麼是函數,如何創建和調用?
函數參數的介紹
函數的返回值
內置函數的介紹
issent()
版本:(PHP 4, PHP 5, PHP 7)
介紹:isset — 檢測變量是否已設置並且非
NULL
說明:bool isset ( mixed
$var
[, mixed$...
] )如果已經使用 unset() 釋放了一個變量之後,它將不再是 isset()。若使用 isset() 測試一個被設置成NULL
的變量,將返回FALSE
。同時要注意的是 null 字符("\0")並不等同於 PHP 的NULL
常量。如果一次傳入多個參數,那麼 isset() 只有在全部參數都以被設置時返回TRUE
計算過程從左至右,中途遇到沒有設置的變量時就會立即停止。參數:var要檢查的變量。
empty() - 檢查一個變量是否爲空
unset() - 釋放給定的變量
defined() - 檢查某個名稱的常量是否存在
the type comparison tables - php類型比較表
array_key_exists() - 檢查數組裏是否有指定的鍵名或索引
is_null() - 檢測變量是否爲 NULL
錯誤控制 @ 運算符。
返回值:如果
var
存在並且值不是NULL
則返回TRUE
,否則返回FALSE
。例子:
<?php
$var = '';
// 結果爲 TRUE,所以後邊的文本將被打印出來。
if (isset($var)) {
echo "This var is set so I will print.";
}
// 在後邊的例子中,我們將使用 var_dump 輸出 isset() 的返回值。
// the return value of isset().
$a = "test";
$b = "anothertest";
var_dump(isset($a)); // TRUE
var_dump(isset($a, $b)); // TRUE
unset ($a);
var_dump(isset($a)); // FALSE
var_dump(isset($a, $b)); // FALSE
$foo = NULL;
var_dump(isset($foo)); // FALSE
?>strlen()
版本:(PHP 4, PHP 5, PHP 7)
介紹:strlen — 獲取字符串長度
說明:int strlen ( string
$string
)返回給定的字符串string
的長度。參數:string需要計算長度的字符串。
返回值:成功則返回字符串
string
的長度;如果string
爲空,則返回 0
例子:
<?php
$str = 'abcdef';
echo strlen($str); // 6
$str = ' ab cd ';
echo strlen($str); // 7
?>
function_exists()
版本:(PHP 4, PHP 5, PHP 7)
介紹:function_exists — 如果給定的函數已經被定義就返回 TRUE
說明:bool function_exists ( string $function_name
)。在已經定義的函數列表(包括系統自帶的函數和用戶自定義的函數)中查找 function_name
。
參數:function_name函數名,必須爲一個字符串。
返回值:如果 function_name
存在且的確是一個函數就返回 TRUE
,反之則返回 FALSE
例子:
<?php
if (function_exists('imap_open')) {
echo "IMAP functions are available.<br />\n";
} else {
echo "IMAP functions are not available.<br />\n";
}
?>
5.類與對象的介紹
6.文件操作
strlen()
版本:(PHP 4, PHP 5, PHP 7)
介紹:fopen — 打開文件或者 URL
說明:resource fopen ( string $filename
, string $mode
[, bool $use_include_path
= false [, resource $context
]] )fopen() 將 filename
指定的名字資源綁定到一個流上。
參數:filename
如果 filename
是 "scheme://..." 的格式,則被當成一個 URL,PHP 將搜索協議處理器(也被稱爲封裝協議)來處理此模式。如果該協議尚未註冊封裝協議,PHP 將發出一條消 息來幫助檢查腳本中潛在的問題並將 filename
當成一個普通的文件名繼續執行下去。 如果 PHP 認爲 filename
指定的是一個本地文件,將嘗試在該文件上打開一個流。該文件必須是 PHP 可以訪問的,因此需要確認文件訪問權限允許該訪問。如果激活了安全模式或者 open_basedir 則會應用進一步的限制。 如果 PHP 認爲 filename
指定的是一個已註冊的協議,而該協議被註冊爲一個網絡 URL,PHP 將檢查並確認 allow_url_fopen 已被激活。如果關閉了,PHP 將發出一個警告,而 fopen 的調用則失敗。
mode
參數指定了所要求到該流的訪問類型
use_include_path如果也需要在 include_path 中搜尋文件的話,可以將可選的第三個參數 use_include_path
設爲 '1' 或 TRUE
。
返回值:成功時返回文件指針資源,如果打開失敗,本函數返回 FALSE
。
例子:
<?php
$handle = fopen("/home/rasmus/file.txt", "r");
$handle = fopen("/home/rasmus/file.gif", "wb");
$handle = fopen("http://www.example.com/", "r");
$handle = fopen("ftp://user:[email protected]/somefile.txt", "w");
?>
fread()
版本:(PHP 4, PHP 5, PHP 7)
介紹:fread — 讀取文件(可安全用於二進制文件)
說明:string fread ( resource $handle
, int $length
)fread() 從文件指針 handle
讀取最多 length
個字節。 該函數在遇上以下幾種情況時停止讀取文件:1.讀取了 length
個字節。2.到達了文件末尾(EOF).
參數:handle文件系統指針,是典型地由 fopen() 創建的 resource(資源)。length最多讀取 length
個字節。
返回值:返回所讀取的字符串, 或者在失敗時返回 FALSE
。
例子:
<?php
// get contents of a file into a string
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
?>
fgets()
版本:(PHP 4, PHP 5, PHP 7)
介紹:fgets — 從文件指針中讀取一行
說明:string fgets ( resource $handle
[, int $length
] )從文件指針中讀取一行。
參數: handle
文件指針必須是有效的,必須指向由 fopen() 或 fsockopen() 成功打開的文件(並還未由 fclose() 關閉)。length從 handle
指向的文件中讀取一行並返回長度最多爲 length
- 1 字節的字符串。碰到換行符(包括在返回值中)、EOF 或者已經讀取了 length - 1 字節後停止(看先碰到那一種情況)。如果沒有指定 length
,則默認爲 1K,或者說 1024 字節。
返回值:從指針 handle
指向的文件中讀取了 length
- 1 字節後返回字符串。 如果文件指針中沒有更多的數據了則返回 FALSE
。錯誤發生時返回 FALSE
。
例子:<?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
echo $buffer;
}
if (!feof($handle)) {
echo "Error: unexpected fgets() fail\n";
}
fclose($handle);
}
?>
file_get_connects()
版本:(PHP 4 >= 4.3.0, PHP 5, PHP 7
介紹:file_get_contents — 將整個文件讀入一個字符串
說明:string file_get_contents ( string $filename
[, bool $use_include_path
= false [, resource $context
[, int $offset
= -1[, int $maxlen
]]]] )只除了 file_get_contents() 把文件讀入一個字符串。將在參數 offset
所指定的位置開始讀取長度爲 maxlen
的內容。如果失敗,file_get_contents() 將返回 FALSE
。
參數: 在失敗時返回 FALSE
.
返回值:從指針 handle
指向的文件中讀取了 length
- 1 字節後返回字符串。 如果文件指針中沒有更多的數據了則返回 FALSE
。錯誤發生時返回 FALSE
。
例子:<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>
feof()
版本:(PHP 4, PHP 5, PHP 7)
介紹:feof — 測試文件指針是否到了文件結束的位置
說明:bool feof ( resource $handle
)測試文件指針是否到了文件結束的位。
參數: handle文件指針必須是有效的,必須指向由 fopen() 或 fsockopen() 成功打開的文件(並還未由 fclose() 關閉)。
返回值:如果文件指針到了 EOF 或者出錯時則返回 TRUE
,否則返回一個錯誤(包括 socket 超時),其它情況則返回 FALSE
。
例子:
處理 feof() 的超時
<?php
function safe_feof($fp, &$start = NULL) {
$start = microtime(true);
return feof($fp);
}
/* $fp 的賦值是由之前 fsockopen() 打開 */
$start = NULL;
$timeout = ini_get('default_socket_timeout');
while(!safe_feof($fp, $start) && (microtime(true) - $start) < $timeout)
{
/* Handle */
}
?>
fwrite()
版本:(PHP 4, PHP 5, PHP 7)
介紹:fwrite — 寫入文件(可安全用於二進制文件)
說明:int fwrite ( resource $handle
, string $string
[, int $length
] )fwrite() 把 string
的內容寫入 文件指針 handle
處。
參數: handle文件系統指針,是典型地由 fopen() 創建的 resource(資源)。stringThe string that is to be written。length如果指定了 length
,當寫入了 length
個字節或者寫完了 string
以後,寫入就會停止,視乎先碰到哪種情況。
返回值:fwrite() 返回寫入的字符數,出現錯誤時則返回 FALSE
。
例子:<?php
$filename = 'test.txt';
$somecontent = "添加這些文字到文件\n";
// 首先我們要確定文件存在並且可寫。
if (is_writable($filename)) {
// 在這個例子裏,我們將使用添加模式打開$filename,
// 因此,文件指針將會在文件的末尾,
// 那就是當我們使用fwrite()的時候,$somecontent將要寫入的地方。
if (!$handle = fopen($filename, 'a')) {
echo "不能打開文件 $filename";
exit;
}
// 將$somecontent寫入到我們打開的文件中。
if (fwrite($handle, $somecontent) === FALSE) {
echo "不能寫入到文件 $filename";
exit;
}
echo "成功地將 $somecontent 寫入到文件$filename";
fclose($handle);
} else {
echo "文件 $filename 不可寫";
}
?>
filesize()
版本:(PHP 4, PHP 5, PHP 7)
介紹:filesize — 取得文件大小
說明:int filesize ( string $filename
)取得指定文件的大小。
參數: filename文件的路徑。
返回值:返回文件大小的字節數,如果出錯返回 FALSE
並生成一條 E_WARNING
級的錯誤。
例子:<?php
// 輸出類似:somefile.txt: 1024 bytes
$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) . ' bytes';
?>
is_readable與 is_writeable()
版本:(PHP 4, PHP 5, PHP 7)
介紹:is_readable — 判斷給定文件名是否可讀。is_writeable — 判斷給定文件名是否可寫。
說明:bool is_readable ( string $filename
)判斷給定文件名是否存在並且可讀。 此函數是該函數的別名:is_writable()。
參數: filename文件的路徑。
返回值:如果由 filename
指定的文件或目錄存在並且可讀則返回 TRUE
,否則返回 FALSE
。
例子:
is_file與file_exists()
版本:(PHP 4, PHP 5, PHP 7)
介紹:is_file — 判斷給定文件名是否爲一個正常的文件。file_exists — 檢查文件或目錄是否存在
說明:bool is_file ( string $filename
)判斷給定文件名是否爲一個正常的文件。bool file_exists ( string $filename
)檢查文件或目錄是否存在。
參數: filename文件的路徑。
返回值:如果文件存在且爲正常的文件則返回 TRUE
,否則返回 FALSE
。
例子:
7.命令執行
8.文件包含
9. 文件上傳