PHP 第七週函式學習記錄

zerocoder發表於2020-07-19

trigger_error()

作用

trigger_error() 函式建立使用者自定義的錯誤訊息。
trigger_error() 函式用於在使用者指定的條件下觸發一個錯誤訊息。它可以與內建的錯誤處理程式一起使用,或者與由 set_error_handler() 函式設定的使用者自定義函式一起使用。

用法

trigger_error(error_message,error_types)
error_message    必需。規定錯誤訊息。長度限制為 1024 個字元。
error_types        可選。規定錯誤訊息的錯誤型別。
                可能的錯誤型別:
                    E_USER_ERROR - 使用者生成的執行時的致命錯誤。不能恢復的錯誤。停止執行指令碼。
                    E_USER_WARNING - 使用者生成的執行時的非致命警告。指令碼沒有停止執行。
                    E_USER_NOTICE - 預設。使用者生成的執行時的通知。指令碼發現可能是一個錯誤,但也可能在指令碼正常執行時發生。

測試案例

<?php
$test=2;
if ($test>1)
{
    trigger_error("A custom error has been triggered");
}
?>

結果

Notice: A custom error has been triggered
in C:webfoldertest.php on line 6

user_error()

作用

該函式是 trigger_error() 函式的別名。

basename()

作用

basename() 函式返回路徑中的檔名部分。

用法

basename(path,suffix)
path    必需。規定要檢查的路徑。
suffix    可選。規定副檔名。如果檔案有名有副檔名,將不會顯示這個副檔名。

測試案例

<?php
$path = "/testweb/home.php";

//Show filename with file extension
echo basename($path) ."<br/>";

//Show filename without file extension
echo basename($path,".php");
?>

結果

home.php
home

chgrp()

作用

chgrp() 函式改變指定檔案的使用者組。
如果成功則返回 TRUE,如果失敗則返回 FALSE

用法

chgrp(file,group)
file    必需。規定要檢查的檔案。
group    可選。規定新的組。可以是組名或組的 ID

測試案例

<?php
chgrp("test.txt","admin")
?>

chmod()

作用

chmod() 函式改變指定檔案的許可權。
如果成功則返回 TRUE,如果失敗則返回 FALSE

用法

chmod(file,mode)
file    必需。規定要檢查的檔案。
mode    必需。規定新的許可權。
        mode 引數由 4 個數字組成:=
            第一個數字通常是 0
            第二個數字規定所有者的許可權
            第三個數字規定所有者所屬的使用者組的許可權
            第四個數字規定其他所有人的許可權
            可能的值(如需設定多個許可權,請對下面的數字進行總計):

            1 = 執行許可權
            2 = 寫許可權
            4 = 讀許可權

測試案例

<?php
// Read and write for owner, nothing for everybody else
chmod("test.txt",0600);

// Read and write for owner, read for everybody else
chmod("test.txt",0644);

// Everything for owner, read and execute for everybody else
chmod("test.txt",0755);

// Everything for owner, read for owner's group
chmod("test.txt",0740);
?>

chown()

作用

chown() 函式改變指定檔案的所有者。
如果成功則返回 TRUE,如果失敗則返回 FALSE

用法

chown(file,owner)
file    必需。規定要檢查的檔案。
owner    必需。規定新的所有者。可以是使用者名稱或使用者的 ID

測試案例

<?php
chown("test.txt","charles")
?>

clearstatcache()

作用

clearstatcache() 函式清除檔案狀態快取。
PHP 會快取某些函式的返回資訊,以便提供更高的效能。但是有時候,比如在一個指令碼中多次檢查同一個檔案,而該檔案在此指令碼執行期間有被刪除或修改的危險時,你需要清除檔案狀態快取,以便獲得正確的結果。要做到這一點,請使用 clearstatcache() 函式。

用法

clearstatcache()

測試案例

<?php
//check filesize
echo filesize("test.txt");
echo "<br />";

$file = fopen("test.txt", "a+");
// truncate file
ftruncate($file,100);
fclose($file);

//Clear cache and check filesize again
clearstatcache();
echo filesize("test.txt");
?>

結果

792
100

copy()

作用

copy() 函式複製檔案。
該函式如果成功則返回 TRUE,如果失敗則返回 FALSE

用法

copy(file,to_file)

測試案例

<?php
echo copy("source.txt","target.txt");
?>

結果

1

dirname()

作用

dirname() 函式返回路徑中的目錄名稱部分。

用法

dirname(path)

測試案例

<?php
echo dirname("c:/testweb/home.php") . "<br />";
echo dirname("/testweb/home.php");
?>

結果

c:/testweb
/testweb

disk_free_space()

作用

disk_free_space() 函式返回指定目錄的可用空間,以位元組為單位。

用法

disk_free_space(directory)

測試案例

<?php
echo disk_free_space("C:");
?>

結果

109693288448

disk_total_space()

作用

disk_total_space() 函式返回指定目錄的磁碟總容量,以位元組為單位。

用法

disk_total_space(directory)

測試案例

<?php
echo disk_total_space("C:");
?>

結果

119990349824

diskfreespace()

作用

diskfreespace() 函式返回指定目錄的可用空間,以位元組為單位。
該函式是 disk_free_space() 函式的別名。

用法

diskfreespace(directory)

測試案例

<?php
echo diskfreespace("C:");
?>

結果

109693288448

fclose()

作用

fclose() 函式關閉開啟的檔案。
該函式如果成功則返回 TRUE,如果失敗則返回 FALSE

用法

fclose(file)

測試案例

<?php
$file = fopen("test.txt","r");
//some code to be executed
fclose($file);
?>

feof()

作用

feof() 函式檢查是否已到達檔案末尾(EOF)。
如果出錯或者檔案指標到了檔案末尾(EOF)則返回 TRUE,否則返回 FALSE

用法

feof(file)

測試案例

<?php
$file = fopen("test.txt", "r");

//Output a line of the file until the end is reached
while(! feof($file))
{
echo fgets($file). "<br />";
}

fclose($file);
?>

結果

Hello, this is a test file.
There are three lines here.
This is the last line.

feof()

作用

feof() 函式檢查是否已到達檔案末尾(EOF)。
如果出錯或者檔案指標到了檔案末尾(EOF)則返回 TRUE,否則返回 FALSE

用法

feof(file)

測試案例

<?php
$file = fopen("test.txt", "r");

//Output a line of the file until the end is reached
while(! feof($file))
{
echo fgets($file). "<br />";
}

fclose($file);
?>

結果

Hello, this is a test file.
There are three lines here.
This is the last line.

fflush()

作用

fflush() 函式向開啟的檔案寫入所有的緩衝輸出。
如果成功則返回 TRUE,如果失敗則返回 FALSE

用法

fflush(file)

測試案例

<?php
$file = fopen("test.txt","r+");
// some code
fflush($file);
?>

fgetc()

作用

fgetc() 函式從開啟的檔案中返回一個單一的字元。
註釋:該函式處理大檔案非常緩慢,所以它不用於處理大檔案。如果您需要從一個大檔案依次讀取一個字元,請使用 fgets() 依次讀取一行資料,然後使用 fgetc() 依次處理行資料。

用法

fgetc(file)

測試案例

<?php
$file = fopen("test2.txt","r");
echo fgetc($file);
fclose($file);
?>

結果

H

fgetcsv()

作用

fgetcsv() 函式從開啟的檔案中解析一行,校驗 CSV 欄位。

fgetcsv() 函式會在到達指定長度或讀到檔案末尾(EOF)時(以先到者為準),停止返回一個新行。

該函式如果成功則以陣列形式返回 CSV 欄位,如果失敗或者到達檔案末尾(EOF)則返回 FALSE

用法

fgetcsv(file,length,separator,enclosure)

file    必需。規定要檢查的檔案。
length    可選。規定行的最大長度。必須大於 CSV 檔案內最長的一行。如果忽略該引數(或者設定為 0),那麼行長度就沒有限制,不過可能會影響執行效率。
注意:該引數在 PHP 5 之前的版本是必需的。

separator    可選。設定欄位分界符(只允許一個字元),預設值為逗號( , )。
enclosure    可選。設定欄位環繞符(只允許一個字元),預設值為雙引號( " )。

測試案例

<?php
$file = fopen("contacts.csv","r");
print_r(fgetcsv($file));
fclose($file);
?>
CSV 檔案:
Kai Jim, Refsnes, Stavanger, Norway
Hege, Refsnes, Stavanger, Norway

結果

Array
(
    [0] => Kai Jim
    [1] => Refsnes
    [2] => Stavanger
    [3] => Norway
)

測試案例

<?php
$file = fopen("contacts.csv","r");

while(! feof($file))
{
print_r(fgetcsv($file));
}

fclose($file);
?>
CSV 檔案:
Kai Jim, Refsnes, Stavanger, Norway
Hege, Refsnes, Stavanger, Norway

結果

Array
(
    [0] => Kai Jim
    [1] => Refsnes
    [2] => Stavanger
    [3] => Norway
)
Array
(
    [0] => Hege
    [1] => Refsnes
    [2] => Stavanger
    [3] => Norway
)

fgets()

作用

fgets() 函式從開啟的檔案中返回一行。
fgets() 函式會在到達指定長度( length - 1 )、碰到換行符、讀到檔案末尾(EOF)時(以先到者為準),停止返回一個新行。
如果失敗該函式返回 FALSE

用法

fgets(file,length)

測試案例

<?php
$file = fopen("test.txt","r");

while(! feof($file))
{
    echo fgets($file). "<br />";
}

fclose($file);
?>

結果

Hello, this is a test file.
There are three lines here.
This is the last line.

fgetss()

作用

fgetss() 函式從開啟的檔案中返回一行,並過濾掉 HTMLPHP 標籤。
fgetss() 函式會在到達指定長度或讀到檔案末尾(EOF)時(以先到者為準),停止返回一個新行。
如果失敗該函式返回 FALSE

用法

fgetss(file,length,tags)

測試案例

test.html 程式碼內容:
<p><b>This is a paragraph.</b></p>

PHP 程式碼:
<?php
$file = fopen("test.html","r");
echo fgetss($file);
fclose($file);
?>

結果

This is a paragraph.

file()

作用

file() 函式把整個檔案讀入一個陣列中。
陣列中的每個元素都是檔案中相應的一行,包括換行符在內。

用法

file(path,include_path,context)
path    必需。規定要讀取的檔案。
include_path    可選。如果您還想在 include_path(在 php.ini 中)中搜尋檔案的話,請設定該引數為 '1'。
context    可選。規定檔案控制程式碼的環境。context 是一套可以修改流的行為的選項。若使用 NULL,則忽略。

測試案例

<?php
print_r(file("test.txt"));
?>

結果

Array
(
    [0] => Hello World. Testing testing!
    [1] => Another day, another line.
    [2] => If the array picks up this line,
    [3] => then is it a pickup line?
)

file_exists()

作用

file_exists() 函式檢查檔案或目錄是否存在。
如果指定的檔案或目錄存在則返回 TRUE,否則返回 FALSE

用法

file_exists(path)

測試案例

<?php
    echo file_exists("test.txt");
?>

結果

1

file_get_contents()

作用

file_get_contents() 把整個檔案讀入一個字串中。
該函式是用於把檔案的內容讀入到一個字串中的首選方法。如果伺服器作業系統支援,還會使用記憶體對映技術來增強效能。

用法

file_get_contents(path,include_path,context,start,max_length)

path    必需。規定要讀取的檔案。
include_path    可選。如果您還想在 include_path(在 php.ini 中)中搜尋檔案的話,請設定該引數為 '1'。
context    可選。規定檔案控制程式碼的環境。context 是一套可以修改流的行為的選項。若使用 NULL,則忽略。
start    可選。規定在檔案中開始讀取的位置。該引數是 PHP 5.1 中新增的。
max_length    可選。規定讀取的位元組數。該引數是 PHP 5.1 中新增的。

測試案例

<?php
echo file_get_contents("test.txt");
?>

結果

This is a test file with test text.

file_put_contents()

作用

file_put_contents() 函式把一個字串寫入檔案中。

該函式訪問檔案時,遵循以下規則:

如果設定了 FILE_USE_INCLUDE_PATH,那麼將檢查 *filename* 副本的內建路徑
如果檔案不存在,將建立一個檔案
開啟檔案
如果設定了 LOCK_EX,那麼將鎖定檔案
如果設定了 FILE_APPEND,那麼將移至檔案末尾。否則,將會清除檔案的內容
向檔案中寫入資料
關閉檔案並對所有檔案解鎖
如果成功,該函式將返回寫入檔案中的字元數。如果失敗,則返回 False。

用法

int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )

file    必需。規定要寫入資料的檔案。如果檔案不存在,則建立一個新檔案。
data    必需。規定要寫入檔案的資料。可以是字串、陣列或資料流。
mode    可選。規定如何開啟/寫入檔案。可能的值:
FILE_USE_INCLUDE_PATH
FILE_APPEND
LOCK_EX
context    可選。規定檔案控制程式碼的環境。context 是一套可以修改流的行為的選項。

測試案例

<?php
echo file_put_contents("sites.txt","Runoob");
?>

結果

6

fileatime()

作用

fileatime() 函式返回指定檔案的上次訪問時間。

如果成功,該函式將以 Unix 時間戳形式返回檔案的上次訪問時間。如果失敗,則返回 FALSE

用法

fileatime(filename)

測試案例

<?php
echo fileatime("test.txt");
echo "<br />";
echo "Last access: ".date("F d Y H:i:s.",fileatime("test.txt"));
?>

結果

1140684501
Last access: February 23 2006 09:48:21.

filectime()

作用

filectime() 函式返回指定檔案的上次修改時間。

該函式將檢查檔案的日常修改情況和 inode 修改情況。inode 修改情況是指:許可權的修改、所有者的修改、使用者組的修改或其他後設資料的修改。

如果成功,該函式將以 Unix 時間戳形式返回檔案的上次修改時間。如果失敗,則返回 FALSE。

註釋:該函式的結果會被快取。請使用 clearstatcache() 來清除快取。

用法

filectime(filename)

測試案例

<?php
echo filectime("test.txt");
echo "<br />";
echo "Last change: ".date("F d Y H:i:s.",filectime("test.txt"));
?>

結果

1138609592
Last change: January 30 2006 09:26:32.

filegroup()

作用

filegroup() 函式返回指定檔案的組 ID。
如果成功,該函式返回指定檔案所屬組的 ID。如果失敗,則返回 FALSE

用法

filegroup(filename)

測試案例

<?php
echo filegroup("test.txt");
?>
參考

《PHP 5 Filesystem 函式 | 菜鳥教程》

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章