(參考代碼庫中文件處理中的filestudy.php和showAll.php和下載doDownload.php, showAll.php和doDownload.php是配合使用)
#### 打開文件
resource fopen(string $filename,string $mode); 打開文件或URL
參數:$filename 要打開的文件名 $mode文件打開方式
其中$mode文件打開方式:
“r”只讀方式打開,指針移到文件開頭
“r+”讀寫方式打開
“w”寫入方式打開,指針移到文件開頭。如果文件不存在,會自動創建。清空寫
“w+”讀寫方式打開
“a”追加方式打開,指針移到文件結尾。如果文件不存在,會自動創建。追加寫
“a+”讀寫方式打開
“b”以二進制數據打開,為了安全起見,在打開方式后加上”b”參數。文便內容的移植。
返回:打開成功返回一個句柄(資源),打開失敗返回FALSE。
##### 打開模式
基本模式:
- R 讀
- W 清空寫,文件存在直接打開同時清空。
- A 追加寫,文件存在直接打開
- X 新建寫,只能新建文件進行操作!就是寫操作,與w類似
+擴展模式:
擴展的操作,都可以完成讀寫操作。
差異與基本模式一致!
- R+ 讀寫,打開任意文件(無論是存在還是不存在),文件內容不會被清空,依據指針位置,完成讀,寫操作。其中,寫,會替換原有指針位置字節。
- W+ 讀寫,打開時,同時清空內容,之后指針在哪里,就 在哪里完成讀寫!與R+唯一的差異,就是會清空文件內容!
- A+ 讀寫,打開任意文件,不會清空內容,指針僅僅影響讀操作。不影響寫操作,僅僅可以在末尾寫!
- X+ 讀寫,新建才能打開,依據文件指針位置,進行讀寫操作!
#### 關閉文件
bool fclose(resource $handle); 關閉一個已打開的文件指針
#### 讀取文件內容
##### 讀取指定大小
string fread(resource $handle,int $length); 讀取文件(可安全用于二進制文件)
$handle打開的文件指針; $length讀取的字節數,一般1kb=1024b
返回讀取的內容
##### 讀行
string fgets(resource $handle\[,int $length\]); 從文件指針中讀取一行
參數:$handle 文件指針 $length可以指定讀取的字節數.從handle指向的文件中讀取一行并返回長度最多為length-1字節的字符串.碰到換行符(包括在返回值中) 或者已經讀取了 length - 1 字節后停止(看先碰到那一種情況)。如果沒有指定 length,則默認為 1K,或者說 1024 字節。
返回讀取的字符串
##### 把文件讀入數組
array file(string $filename\[,int $flags=0\]); 把整個文件讀入一個數組中
參數:
$filename文件名,不用打開、關閉文件。
$flags,附加選項。
FILE\_USE\_INCLUDE\_PATH(1),在 [include\_path](mk:@MSITStore:C:%5C20160511%5Cmanual%5Cphp_enhanced_zh.chm::/res/ini.core.html) 中查找文件。
FILE\_IGNORE\_NEW\_LINES(2),在數組每個元素的末尾不要添加換行符
FILE\_SKIP\_EMPTY\_LINES(4),跳過空行
返回:返回整個文件的一個數組。
##### 把文件內容讀入字符串(不用打開)
string file\_get\_contents(string $filename) 將整個文件讀入一個字符串
提示:不用打開文件,也不用關閉文件
##### 寫入文件
###### 寫入文件內容
int fwrite(resource $handle,string $string \[,int $length\]); 寫入文件(可安全用于二進制文件)
參數:$handle打開的文件指針;$string要寫入的字符串;$length表示要寫入的字符數
###### 將字符串寫入文件,不用打開
int file\_put\_contents(string $filename,mixed $data) 將一個字符串寫入文件
#### 拷貝文件
bool copy(string $source, string $dest);
#### 刪除文件
bool unlink(string $filename); 刪除文件
#### 文件指針
bool feof ( resource $handle ) 測試文件指針是否到了文件結束的位置
定位指針: fseek(句柄,位置),位置從0開始遞增
獲取指針位置: ftell(句柄); 獲取指針位置
#### 取得文件屬性
- 文件大小:filesize($filename)
- 創建時間:filectime($filename)
- 訪問時間:fileatime($filename)
- 修改時間:filemtime($filename) 時間戳
- 文件權限:fileperms($filename)
- PHP
- 頁面跳轉
- 數據類型和運算符
- 整形
- 浮點型
- 字符串型
- 布爾型
- 判斷數據類型
- 傳值
- 類型轉換
- 常量
- 進制轉換
- 運算符
- 各種結構
- 數組
- 分類
- 創建
- 多維數組
- 數組操作函數
- 數組指針
- 排序
- 數組交換需要注意的
- 函數
- 創建函數
- 參數傳遞
- 參數數量問題
- 返回值
- 可變函數
- 匿名函數
- 冒泡,選擇,二分
- 變量的作用域
- 局部作用域中使用全局
- use
- 有關函數的系統函數
- 遞歸
- 遞推(迭代)
- 面向對象
- 類和對象
- 值傳遞
- 引用傳遞
- 成員
- 構造和析構調用上級同類方法
- 重寫
- 最終類
- 最終方法
- 設計模式
- 抽象類
- 抽象方法
- 抽象類和抽象方法的細節
- 重載
- 接口
- 類和接口的總結
- 自動加載
- 克隆
- 對象的遍歷
- 內置標準類
- 其他類型轉對象類型
- 類型約束
- 魔術方法
- static關鍵字
- 命名空間
- 子級空間
- 引入機制
- 公共空間
- 使用注意
- 錯誤處理
- 錯誤的觸發
- 錯誤報告的顯示
- 錯誤日志的記錄問題
- 自定義錯誤處理器
- 異常拋出
- 文件鎖
- 文件處理
- 序列化與反序列化
- 目錄操作
- 文件操作
- 文件上傳
- $_FILFS
- 多文件上傳處理
- 繪圖技術
- 創建畫布資源
- 操作畫布
- 導出
- 銷毀資源
- 驗證碼
- 補充文件居中
- 在圖像上寫入一行TTF字體的文本
- 獲得圖像相關信息
- 水印
- 等比例縮放
- 常見錯誤
- HTTP協議
- URL的構成
- 請求
- 防盜鏈
- 響應
- 使用header()禁用緩存
- 下載文件的HTTP響應頭
- 文件下載
- HTTPS
- 會話技術
- cookie
- session
- PHP操作MySQL函數
- 登錄
- 一些函數
- 從結果集中取出一行數據
- 獲取行數,列數,字段名
- 安全
- 緩存
- 補充
- MySQL
- 語法
- 備份和恢復
- 注釋
- 語句行
- 字符集
- 校驗級
- 存儲引擎
- 數據庫操作
- 創建數據庫
- 刪除數據庫
- 顯示數據庫
- 修改數據庫
- 數據類型
- 整數類型
- 小數類型
- 日期時間型
- 字符和文本型
- enum類型
- set類型
- 時間類型
- 表操作
- 創建
- 索引
- 約束
- 表選項列表
- 表的其他語句
- 視圖語法
- 增刪改查
- 插入數據(增)
- 刪除數據(刪)
- 修改數據(改)
- 查詢(查)
- 用戶和權限管理
- 用戶管理
- 權限管理
- PDO
- 與PDO相關的幾個類
- 連接數據庫
- 使用
- PDO的錯誤處理
- PDO結果集對象
- pdo結果集對象的常用方法
- PDO預處理
- 常用屬性
- mysql編程
- 事務
- 語句塊
- mysql中的變量
- (存儲)函數
- 存儲過程procedure
- 觸發器(trigger)
- mysql優化
- 存儲引擎
- 字段類型
- 逆范式
- 索引
- Memcache
- 與redis區別
- 安裝
- php開啟擴展
- php操作memcache
- Key的命名
- 有效期
- 各種數據類型存儲
- 刪除
- 第三個參數壓縮作用
- 其他相關操作方法
- 終端命令操作方式
- 獲取memcache統計信息
- Git
- 創建一個git倉庫
- 添加
- 修改文件
- 刪除文件
- 克隆
- 個人網站
- Ajax
- 發起請求
- 接受響應
- 常用屬性和方法
- get和post
- get
- post
- 同步和異步
- 什么時候使用同步請求?
- 分頁
- xml的接收和處理
- JSON
- 無刷新表單提交和進度條
- JQuery操作ajax
- iframe
- 郵件
- 介紹
- 發送郵件
- 直投郵件
- 中轉郵件發送
- phpmailer
- 正則表達
- 簡單使用
- preg_match()
- 正則內容
- 定義字符集
- 特別字符集
- 組合字符集
- 限制字符
- 模式修正符
- 進行全局匹配