PHP 8.1.28 Released!

sapi_windows_vt100_support

(PHP 7 >= 7.2.0, PHP 8)

sapi_windows_vt100_supportWindows konsolunun çıktı tamponu ile ilişkili belirtilen akım için VT100 desteği atar veya döndürür

Açıklama

sapi_windows_vt100_support(resource $akım, ?bool $etkin = null): bool

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.

Uyarı

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.

Bağımsız Değişkenler

akım

İşlem yapılacak akım.

etkin

true belirtilirse belirtilen akımda VT100 denetim kodları kullanılabilir, false ise kullanılamaz.

Dönen Değerler

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 Bilgisi

Sürüm: Açıklama
8.0.0 etkin artık null olabiliyor.

Örnekler

Ö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:


true false

Ö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.
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top