php文件函數代碼,php常用的文件操作函數

本文目錄一覽:

關於PHP文件的函數

這兩個是隱藏文件,’.’表示是當前目錄,’..’表示的是上一層目錄。Linux裡面這很常見的,Windows裡面也有,只是你看不到。希望你能理解。

PHP函數代碼基礎知識?

我們在學習PHP開發相關基礎知識的時候,對於不同的開發原理以及代碼的使用都是基本的能力要求。今天,雲南電腦培訓就一起來了解PHP開發基礎知識中的函數代碼都有哪些。

array()

array(value1,value2?..)創建數組

array_chunk(array,size,preserve_keys)把一個數分割成新的數組塊[tk]

array_combine(keys,values)通過合併兩個數組(鍵名數組,鍵值數組)組成一個新的數組

array_count_values(array)用於統計數組中所有值出現的次數

array_diff(array1,array2,…)比較數組返回兩個數組的差集(只比較鍵值)

array_diff_assoc(array1,array2,..)比較數組返回兩個數組的差集(比較鍵名和鍵值)

array_diff_key(array1,array2,…)比較數組返回兩個數組的差集(只比較鍵名)

array_fill(index,number,value)用給定的鍵值填充數組

array_filter(array,要用的回調函數)用回調函數過濾數組中的元素

array_flip(array)反轉/交換數組中的鍵名和對應關聯的鍵值[flp]

array_keys(array)返回數組中的所有鍵名

array_merge(array1,array2,..)把一個或多個數組合併一個數組[m:rd]

array_pad(array,size,value)將指定數量的帶有指定值的元素插入到數組中

array_pop(array)刪除後一個元素

array_push(array)末尾添加數組

array_shift(array())刪除數並返回被刪除的元素值

array_unshift(array))組中的一個元素添加一個或多個元素

array_rand(array,number)從數組中隨機選出一個或多個數組

array_replace(array1,array2…)使用後面數組的值替換一個數組的值

array_reverse(array)數組反轉並返回新的數組

array_search(value,array,strict(可選true,flase))搜索值返回鍵名。True搜索鍵名和值都一樣的元素

array_slice(array,start,length,preserve)返回數組中的選定部分

array_splice(array,start,length,array)把指定的元素去掉並用其他的替換

array_unique(array)刪除數組中的重複值美[junik]

array_values(array)返回數組中的所有值

array_key_exists(key,array)查找數組鍵名是否存在

count(array)返回數組中元素的數目美[kant]

in_array(『值』,$array,bool)檢查數組中是否存在指定的值設置為TRUE,則in_array

函數檢查搜索的數據與數組的值的類型是否相同。

9個必須知道的實用PHP函數和功能

即使使用 PHP 多年 也會偶然發現一些未曾了解的函數和功能 其中有些是非常有用的 但沒有得到充分利用 並不是所有人都會從頭到尾一頁一頁地閱讀手冊和函數參考!

任意參數數目的函數

你可能已經知道 PHP 允許定義可選參數的函數 但也有完全允許任意數目的函數參數的方法 以下是可選參數的例子

以下為引用的內容

// function with optional arguments function foo($arg = $arg = ) {

echo “arg : $arg n”;  echo “arg : $arg n”;

}

foo( hello world ); /* prints: arg : hello arg : world */

foo(); /* prints: arg : arg : */

現在讓我們看看如何建立能夠接受任何參數數目的函數 這一次需要使用 func_get_args() 函數

以下為引用的內容

// yes the argument list can be empty function foo() {

// returns an array of all passed arguments  $args = func_get_args();

foreach ($args as $k = $v) {   echo “arg” ($k+ ) “: $vn”;  }

}

foo(); /* prints nothing */

foo( hello ); /* prints arg : hello */

foo( hello world again ); /* prints arg : hello arg : world arg : again */

使用 Glob() 查找文件

許多 PHP 函數具有長描述性的名稱 然而可能會很難說出 glob() 函數能做的事情 除非你已經通過多次使用並熟悉了它 可以把它看作是比 scandir() 函數更強大的版本 可以按照某種模式搜索文件

以下為引用的內容

// get all php files $files = glob( * php );

print_r($files); /* output looks like: Array (     [ ] = phptest php     [ ] = pi php     [ ] = post_output php     [ ] = test php ) */

你可以像這樣獲得多個文件

以下為引用的內容

// get all php files AND txt files $files = glob( * {php txt} GLOB_BRACE);

lishixinzhi/Article/program/PHP/201311/21182

PHP中的文件系統函數(一)

從這篇文章開始,我們將學習一系列的 PHP 文件系統相關函數。其實這些函數中,有很多都是我們經常用到的,大家並不需要刻意地去記住它們,只要知道有這麼個東西,在使用的時候記得來查文檔就可以了。

文件路徑相關的函數往往在一些框架中會比較常見,而且多會配合 __FILE__ 、 __DIR__ 之類的魔術常量使用。

basename() 函數是獲得路徑中的文件名,它有兩個參數,第一個是文件的路徑,第二個是過濾掉的內容,比如第一條測試語句我們過濾掉文件的後綴名。

dirname() 返回的是路徑中的路徑部分,也就是不包含文件名的那部分內容,和 basename() 正好是相反的功能。

pathinfo() 函數用於以數組的形式返迴路徑中的信息,從結果來看,我們可以看到文件的 dirname 部分,basename 部分,以及文件的擴展名 extension 和不包含擴展名的 filename 內容。

realpath() 返回的是規範化的絕對路徑名,它擴展所有的符號連接並且處理輸入的路徑中的 ./ 、 ../ 以及多餘的 / ,返回的內容是標準規範的絕對路徑。

接下來,我們學習一些修改文件相關屬性的函數,主要就是在 Linux 系統環境中的文件許可權信息的操作。

當然,首先我們得創建一個文件。和 Linux 中的命令是非常類似的。

touch() 函數除了給出要創建的文件名之外,還有兩個可選參數可以指定文件的創建時間及訪問時間,不給參數的話默認就是當前時間。這個文件名可以是相對或絕對路徑中有許可權的目錄,並在該目錄下創建一個空的文件。

通過 fileowner() 函數,我們可以獲得某個文件所屬的用戶,默認情況下我們的用戶是當前運行 PHP 腳本的用戶,也就是系統目前的登錄用戶。在這裡,我們使用 chown() 函數,將用戶改為 www 用戶。clearstatcache() 是用於清理文件系統的緩存信息,如果不清理一下的話,fileowner() 返回的依然還是之前的用戶信息。

同理,使用 filegroup() 函數獲得文件的屬組信息,chgrp() 用於修改文件的屬組。fileperms() 用於返迴文件的許可權信息,它返回的是數字模式的文件訪問許可權,這裡我們使用 sprintf() 格式化結果後獲得我們常用的 Linux 系統許可權格式。chmod() 函數用於修改文件的許可權,它的許可權參數是三個 8 進位數據組成的數字,也就是代表 Linux 系統中的 1 、2 、4 和它們的組合,所以我們需要在前面再加上一個 0 用於確保操作能夠正常執行。關於系統文件許可權的知識大家需要認真學習 Linux 系統中相關的內容。

注意,上述函數如果在命令行中運行失敗,大部分原因是沒有許可權,可以使用 sudo 進行測試。在 fastcgi 中運行時,就更加需要注意許可權問題,僅在我們伺服器可以操作的目錄中進行安全的文件許可權修改。

stat() 函數可以獲取到指定文件的所有屬性信息,在這裡我們可以看到文件的 uid 、 gid 、 ctime 、 mtime 等信息。

在 Linux 系統中,有軟連接和硬連接的相關知識。其實軟連接就像是 Windows 中的快捷方式,而硬連接相關於複製了一份數據。在 PHP 中,也為我們提供了創建軟硬連接以及相關的一些操作。

使用 link() 函數創建的就是一個指定文件的硬連接文件,而使用 symlink() 創建的則是一個軟連接文件。相對來說,我們使用軟連接的場景會更多一些。lstat() 就和 stat() 函數的功能一樣,查看文件的各種屬性信息,不過 lstat() 函數針對的是軟硬連接文件。

同樣地,我們也可以修改軟硬連接的用戶和用戶組信息,不過它們的信息不能通過 fileowner() 或 filegroup() 查看。因為它們是連接文件,本身還是和原始文件綁定在一起的,使用 fileowner() 這類的函數查看到的依然是原始文件的信息。我們可以在系統環境中使用 ls -l 查看連接文件的用戶和用戶組信息是否修改成功。

今天的內容比較簡單,而且修改許可權的操作也並不常用。不過對於系統安全來,它們還是非常有用的,比如對於上傳來說,我們要預防上傳可執行文件的話,就可以通過修改文件的許可權來讓文件無法直接運行,從而起到安全保護的作用。另外,目錄路徑相關的操作也是一些框架的基礎,幾乎所有框架的入口或者說是 Composer 的入口,都會見到 dirname() 以及 basename() 之類函數的身影。

測試代碼:

中的文件系統函數(一).php

參考文檔:

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/301528.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-30 16:09
下一篇 2024-12-30 16:09

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字元串操作中,capitalize函數常常被用到,這個函數可以使字元串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常問題的解決

    本文旨在解決vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常的問題,提供完整的代碼示例供參考。 一、分析問題 首先,需了解vue中下載文件的情況。一般情況下,我們…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • 單片機列印函數

    單片機列印是指通過串口或並口將一些數據列印到終端設備上。在單片機應用中,列印非常重要。正確的列印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的列印數據可以幫助我們快速…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29

發表回復

登錄後才能評論