PHP 檔案和目錄操作

2022-08-18 21:00:14 字數 3029 閱讀 7749

<?php

$path = './';

//開啟資料夾

$dir_handle = opendir($path);

//讀取資料夾

while(false !== $file = readdir($dir_handle))

//關閉資料夾

closedir($dir_handle);

<?php

$path = './';

function read_dirs_tree($path, $deep=0)

} //關閉資料夾

closedir($dir_handle);

}read_dirs_tree($path);

windows 預設使用 gbk 編碼

專案 ->windows:iconv('utf-8', 'gbk', 字串);

windows-> 專案:iconv('gbk', 'utf-8', 字串);

form 設定:method="post" enctype="multipart/form-data"

php 伺服器在接受到檔案型的表單資料後將檔案儲存於上傳臨時目錄(在指令碼週期內有效)

php.ini 配置:

upload_tmp_dir:修改上傳的臨時檔案的路徑

max_file_uploads:修改最多上傳檔案數

post_max_size:修改最大 post 資料最大限制

php_fileinfo.dll:開啟 mime 檢測拓展

error 分類(0:上傳成功):

# 是否存在錯誤

if($tmp_file['error'] != 0)

# 尺寸

if ($tmp_file['size'] > $this->_max_size)

# 型別

# 從源檔名中提取字尾

$ext = strtolower(strrchr($tmp_file['name'], '.'));

if (!in_array($ext, $this->_allow_ext_list))

# mime, type元素。

if (!in_array($tmp_file['type'], $this->_allow_mime_list))

//php自己獲取檔案的mime,進行檢測

$finfo = new finfo(fileinfo_mime_type);//獲得乙個可以檢測檔案mime型別資訊的物件

$mime_type = $finfo->file($tmp_file['tmp_name']);//檢測

if (!in_array($mime_type, $this->_allow_mime_list))

# 移動

# 上傳檔案儲存位址

//建立子目錄

$subdir = date('ymdh') . '/';

if(!is_dir($this->_upload_path . $subdir))

# 上傳檔案起名

$upload_filename = uniqid($this->_prefix, true) . $ext;

if (move_uploaded_file($tmp_file['tmp_name'], $this->_upload_path . $subdir . $upload_filename)) else

}

}var_dump($_files);

if ($_files) else

}當操作的檔案過大時不能一次性操作全部檔案內容這個函式不適用!

<?php

$file = './test.txt';

$content = date('h:i:s').'\n';

var_dump(file_put_contents($file, $content));//返回位元組數

var_dump(file_get_contents($file));

php 提供了如下開啟模式(+ 擴充套件,擴充套件了操作):

r(read)讀模式

w(write)替換寫模式,將檔案內容清零,自動建立不存在的檔案,只能開啟已經存在的檔案

x 替換寫,不會自動建立不存在的檔案

r + 讀寫模式,將檔案指標放在檔案開頭。

w + 讀替換寫模式,將檔案內容清零,將檔案指標放在檔案開頭,自動建立不存在的檔案。

a + 讀追加寫模式,寫操作永遠在檔案末尾,讀操作受限於檔案指標。

x + 讀替換寫模式,將檔案內容清零,將檔案指標放在檔案開頭,不會自動建立不存在的檔案,只能開啟已經存在的檔案

長度最大值為 8192 個位元組。

長度:指的是會讀取長度 - 1 個位元組

行末也是該函式的終止讀操作條件

終止讀取取決於先滿足那個條件,因此該函式也稱讀行函式

最常用:fgets($handle, 1024)

讀取指標位置字元,操作時會移動指標。

位置通常由檔案指標來指示,如果是 a 模式,不論指標在**,只能在末尾寫。

ftell(檔案控制代碼) 獲取指標位置

fseek(檔案控制代碼, int $offset) 設定指標位置

filemtime(檔案位址) 檔案的最後修改時間

filesize(檔案位址) 檔案大小

fseek($file_handle, 0);

echo'fread:',fread($file_handle, 5),'';//中?

echo'fgets:',fgets($file_handle, 2),'';//?

echo'fgetc:',fgetc($file_handle),'';//?

echo'ftell:',ftell($file_handle),'';//7

echo'filemtime:',filemtime($file),'';//1487850244

echo'filesize:',filesize($file),'';//21(3*7)

fclose($file_handle);

php檔案目錄操作

新建檔案 1 先確定要寫入檔案的內容 content 你好 2 開啟這個檔案 系統會自動建立這個空檔案 假設新建的檔案叫file.txt,而且在上級目錄下。w表示 寫檔案 fp下面要用到,表示指向某個開啟的檔案。fp fopen file.txt w 3 將內容字串寫入檔案 fp告訴系統要寫入的檔案...

php檔案 目錄操作

訪問本地 遠端的檔案 服務端請求無 跨域限制 resource 型別理解 作為乙個容器的例項,有的話裡面封裝了檔案內容 或者是二進位制 對完提供api,以操作封裝在內的檔案內容 像c 的stream例項 feof f end of file 是否檔案結尾 檔案操作 resource fopen st...

php檔案和目錄的基本操作

1.檔案的讀寫操作。在自己的 根目錄下新建乙個txt文件,插入幾行測試資料。編寫 使用php中檔案讀寫的相關函式,實現對該文件的讀寫操作。要求,幾個常用函式都盡量練習到。filename d phpstudy www php25 1.txt content 123456789101112.n han...