當前位置:首頁 » 編程語言 » php返迴文件

php返迴文件

發布時間: 2022-10-24 17:54:49

php中編寫一個函數,輸入文件名稱,返迴文件後綴,如輸入:bc.jpg,返回jpg。

$fileName="bc.jpg";
echoexplode(".",$fileName)[1];

② php 返回根目錄問題

「./」是當前目錄的意思!更目錄是「/」上一級目錄的表示方法為「../」

③ php壓縮文件並返回壓縮文件的名稱

使用PHPexcel,你自己到網上搜這個插件吧,將需要的文件解壓到Classes目錄下,那麼把這個目錄放在框架thinkphp/extend/vendor/下面,我將自己項目中的部分代碼給你看看 在ACTION中設置上傳文件並獲取文件: import('ORG.Net.UploadFile');

④ php如何返迴文件名部分

可以使用basename來返迴文件部分

⑤ php如何實現get後返回網站根目錄里指定的txt文件里的內容

<?php
//fopen第二個參數可以是以下四個,區別就是是清空內容再寫還是在後面累加內容
//"w" 寫入方式打開,將文件指針指向文件頭並將文件大小截為零。如果文件不存在則嘗試創建之。
//"w+" 讀寫方式打開,將文件指針指向文件頭並將文件大小截為零。如果文件不存在則嘗試創建之。
//"a" 寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建之。
//"a+" 讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建之。
$myfile = fopen("c:/newfile.txt", "a") or die("Unable to open file!");//這個是在c盤根目錄生成文件
$txt = $_GET;//獲取參數
$b="";
foreach($txt as $k=>$v){
$b = $b ."[".$k."]=>".$v."\n";
}
$txt1 = $_POST;
foreach($txt1 as $k=>$v){
$b = $b ."[".$k."]=>".$v."\n";
}
$b = $b."123";
fwrite($myfile, $b);//寫入內容,可以寫多次哦,不過沒啥意義,因為你拼接好字元串,一次寫入就行了
fclose($myfile);//關閉該操作
?>

簡便方法而且很好用的是
?

1

file_put_contents("c:/zll.txt","內容");

⑥ php如何返回json對象呢

返回json用的json_encode()方法沒錯,但是需要在頭部聲明格式。
代碼解析
php返回需要用json_encode()方法來將需要轉換的字元串轉換成json編碼格式(注意:僅僅更換文件內容,而返回的文件依然為文本格式且編碼為gtk)
所以,這里需要在php頭部聲明
header('Content-Type:text/json;charset=utf-8');

拓展內容
json
JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。它基於 ECMAScript (歐洲計算機協會制定的js規范)的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網路傳輸效率。
json通常被作為配置文件,常見還有.ini
0

⑦ Apache需要將php文件交給PHP解釋器處理後再 返回給瀏覽器,那PHP如何運行的呢

1.我們從未手動開啟過PHP的相關進程,它是隨著Apache的啟動而運行的;
2.PHP通過mod_php5.so模塊和Apache相連(具體說來是SAPI,即伺服器應用程序編程介面);
3.PHP總共有三個模塊:內核、Zend引擎、以及擴展層;
4.PHP內核用來處理請求、文件流、錯誤處理等相關操作;
5.Zend引擎(ZE)用以將源文件轉換成機器語言,然後在虛擬機上運行它;
6.擴展層是一組函數、類庫和流,PHP使用它們來執行一些特定的操作。比如,我們需要mysql擴展來連接MySQL資料庫
7.當ZE執行程序時可能會需要連接若干擴展,這時ZE將控制權交給擴展,等處理完特定任務後再返還;
8.最後,ZE將程序運行結果返回給PHP內核,它再將結果傳送給SAPI層,最終輸出到瀏覽器上。

⑧ 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() 之類函數的身影。

測試代碼:

https://github.com/zhangyue0503/dev-blog/blob/master/php/202010/source/6.PHP中的文件系統函數(一).php

參考文檔:

https://www.php.net/manual/zh/ref.filesystem.php

熱點內容
如何開伺服器電腦 發布:2025-09-23 18:50:02 瀏覽:775
伺服器介面如何升級 發布:2025-09-23 18:45:00 瀏覽:421
imagelibrarypython 發布:2025-09-23 18:08:35 瀏覽:171
阿里雲伺服器搭建網盤 發布:2025-09-23 17:39:39 瀏覽:997
microsoft資料庫 發布:2025-09-23 17:20:40 瀏覽:233
三星證書存儲的密碼 發布:2025-09-23 17:16:26 瀏覽:730
我的世界抽獎32k伺服器推薦 發布:2025-09-23 17:03:46 瀏覽:813
b站在筆記本上怎麼緩存啊 發布:2025-09-23 16:41:53 瀏覽:391
光遇為什麼ios的心比安卓貴 發布:2025-09-23 16:34:26 瀏覽:731
南京編程少兒 發布:2025-09-23 16:28:25 瀏覽:697