(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
stream_filter_prepend — 附加篩選器到資料流
將 filtername
加入附加到 stream
的篩選器列表中。
stream
目標資料流。
filtername
篩選器名稱。
read_write
預設情況下,如果檔案以讀取模式開啟(例如檔案模式:r
和/或 +
),stream_filter_prepend() 會將篩選器附加到 讀取篩選器鏈
。如果檔案以寫入模式開啟(例如檔案模式:w
、a
和/或 +
),篩選器也會附加到 寫入篩選器鏈
。也可以將 STREAM_FILTER_READ
、STREAM_FILTER_WRITE
和/或 STREAM_FILTER_ALL
傳遞給 read_write
參數來覆寫此行為。有關使用此參數的範例,請參閱 stream_filter_append()。
params
此篩選器將使用指定的 params
新增到列表的*開頭*,因此在資料流操作期間將首先被呼叫。要將篩選器新增到列表的末尾,請使用 stream_filter_append()。
成功時傳回資源,失敗時傳回 false
。此資源可用於在呼叫 stream_filter_remove() 期間參考此篩選器執行個體。
如果 stream
不是資源,或者找不到 filtername
,則會傳回 false
。
注意:使用自訂(使用者)篩選器時
必須先呼叫 stream_filter_register() 才能將所需的使用者篩選器註冊到filtername
。
注意: 資料流資料會以區塊的形式從資源(本地和遠端)讀取,任何未使用的資料會保留在內部緩衝區中。當新的篩選器被添加到資料流的開頭時,內部緩衝區中已經過其他篩選器處理的資料將*不會*在該時間點透過新的篩選器重新處理。這與 stream_filter_append() 的行為不同。
注意: 當為讀取和寫入新增篩選器時,會建立兩個篩選器執行個體。必須使用
STREAM_FILTER_READ
和STREAM_FILTER_WRITE
分別呼叫兩次 stream_filter_prepend() 才能取得兩個篩選器資源。