Akımlar, ortak bir işlev ve kullanım kümesini paylaşan dosya, ağ, veri
sıkıştırması ve bunlarla ilgili diğer işlemleri genelleştirmenin bir
yoludur. En basit tanımıyla, bir
akım
akışkan bir davranış gösteren resource
türünde bir nesnesidir. Yani, akımlar doğrusal anlamda okunup yazılabilir ve akım
içindeki keyfi konumlara gitmek (fseek()) mümkün
olabilir.
Bir sarmalayıcı
, akıma belli bir protokolü veya
kodlamayı nasıl ele alacağını söyleyen bir koddur. Örneğin,
http
sarmalayıcısı bir URL'nin, bir uzak sunucudaki bir
dosya için nasıl, bir HTTP/1.0
isteğine
dönüştürüleceğini bilir. PHP'de öntanımlı olarak, bir çok yerleşik
sarmalayıcı vardır (bak: Desteklenen Protokoller ve Sarmalayıcılar). Ayrıca,
stream_wrapper_register() işlevi kullanılarak
bir eklenti üzerinden doğrudan doğruya özel sarmalayıcılar eklenebilir.
PHP'ye her çeşit sarmalayıcı eklenebileceğinden bunlarla yapılabileceklerin
bir sınırı yoktur. Kurulumunuzda desteklenen sarmalayıcıların tam bir
listesini edinmek için stream_get_wrappers() işlevini
kullanın.
Bir akıma şöyle başvurulur:
şema
://hedef
şema
(string) - Kullanılacak
sarmalayıcının ismidir. file, http, https, ftp, ftps,
compress.zlib, compress.bz2
ve php
bu
sarmalayıcılardan bazılarıdır. PHP'de yerleşik olarak bulunan
sarmalayıcıların listesini Desteklenen Protokoller ve Sarmalayıcılar altında
bulabilirsiniz. Hiçbir sarmalayıcı belirtilmediği takdirde işlev
öntanımlısı (genellikle file
://) kullanılır.
hedef
- Kullanılan sarmalayıcıya bağlıdır. Dosya
sistemi ile ilgili sarmalayıcılar için genellikle istenen dosyanın
bulunduğu dosya yolu ve dosyanın isminden oluşur. Ağ ile ilgili
sarmalayıcılarda ise bir konak ismine eklenen bir dosya yolu
kullanılır. Yerleşik sarmalayıcıların hedefleri ile ilgili açıklamalar
için Desteklenen Protokoller ve Sarmalayıcılar bölümüne bakınız.