(PHP 7 >= 7.2.0, PHP 8)
sapi_windows_vt100_support — Windows konsolunun çıktı tamponu ile ilişkili belirtilen akım için VT100 desteği atar veya döndürür
etkin
null
ise ve akım
için VT100 denetim kodları etkinse true
, değilse false
döner.
etkin
true
ise, akım
için VT100 denetim kodları etkinleştirilir, false
ise iptal edilir.
İşlev ilk durum için true
ikinci durum için false
döndürür.
PHP başlatıldığında STDOUT
ve
STDERR
akmlarında VT100 özelliğini etkinleştirmeye
çalışır. Ancak, bu akımlar bir dosyaya yönlendirilmişse bu yapılamayabilir.
VT100 desteği etkinse, VT100 uçbiriminin bilinen denetim kodlarını kullanmak mümkün olur. Denetim kodları ie uçbirim çıktısında değişiklik yapılabilir. Windows'da bu kodlara "Console Virtual Terminal Sequences" adı verilir.
Bu işlev, Windows 10 API'sinde geçerli
ENABLE_VIRTUAL_TERMINAL_PROCESSING
seçeneğini
kullanır, bu nedenle VT100 özelliği eski Windows sürümlerinde
kullanılamayabilir.
akım
İşlem yapılacak akım.
etkin
true
belirtilirse belirtilen akım
da VT100
denetim kodları kullanılabilir, false
ise kullanılamaz.
etkin
null
ise ve VT100 özelliği etkinse true
,
değilse false
döner.
etkin
içn mantıksal bir değer belirtilmişse: Başarı durumunda true
, başarısızlık durumunda false
döner.
Sürüm: | Açıklama |
---|---|
8.0.0 |
etkin artık null olabiliyor.
|
Örnek 1 - sapi_windows_vt100_support() öntanımlı durum örneği
Öntanımlı olarak, STDOUT
ve
STDERR
üzerinde VT100 denetim kodları etkindir.
php -r "var_export(sapi_windows_vt100_support(STDOUT));echo ' ';var_export(sapi_windows_vt100_support(STDERR));" 2>NUL
Yukarıdaki örnek şuna benzer bir çıktı üretir:
true true
Eğer akımlar yönlendirilmişse VT100 özelliği etkinleştirilemeyebilir:
php -r "var_export(sapi_windows_vt100_support(STDOUT, true));echo ' ';var_export(sapi_windows_vt100_support(STDERR, true));" 2>NUL
Yukarıdaki örnek şuna benzer bir çıktı üretir:
Örnek 2 - sapi_windows_vt100_support() ile durum değişikliği
STDOUT
veya STDERR
akımı yönlendirilmişse bunlar üzerinde VT100 özelliği etkinleştirilemeyebilir.
php -r "var_export(sapi_windows_vt100_support(STDOUT, true));echo ' ';var_export(sapi_windows_vt100_support(STDERR, true));" 2>NUL
Yukarıdaki örnek şuna benzer bir çıktı üretir:
true false
Örnek 3 - VT100 desteğini etkin kılma örneği
<?php
$out = fopen('php://stdout','w');
fwrite($out, 'Bir harfi unuttm.');
// İmleci iki karakter geriye götür
fwrite($out, "\033[2D");
// Mevcut metni sağa kaydırarak unutulan karakter için yer aç:
// 'Bir harfi unutt m.'
fwrite($out, "\033[1@");
// unutulan karakteri yerleştir
fwrite($out, 'u');
?>
Yukarıdaki örneğin çıktısı:
Bir harfi unuttum.