(PHP 4, PHP 5, PHP 7, PHP 8)
popen — Bir süreç tanıtıcısı açar
$komut
, string $kip
) : resource
Belirtilen komut
tarafından çatallanarak
çalıştırılan bir sürece bir boruhattı açar.
komut
Komut.
kip
Kip.
fopen() işlevi tarafından döndürülenden farklı olarak hem okuma hem de yazma için kullanılabilen ve pclose() ile kapatılması gereken bir dosya tanıtıcısı ile döner. Bu tanıtıcı, fgets(), fgetss() ve fwrite() işlevleri tarafından kullanılabilir. Kip 'r' ise dönen dosya konumlayıcı komutun standart çıktısına eşitlenir. Kip 'w' ise dönen dosya konumlayıcı komutun standart girdisine eşitlenir.
Bir hata oluşursa false
döner.
Örnek 1 - popen() örneği
<?php
$handle = popen("/bin/ls", "r");
?>
Belirtilen komut dosyası bulunamazsa da geçerli bir tanıtıcı döner. Bu tuhaf görünebilir fakat böyle olması gerekir; böylece kabuk tarafından döndürülen hata iletisine erişmeniz sağlanır:
Örnek 2 - Hata döndüren popen() örneği
<?php
error_reporting(E_ALL);
/* Komutu std. hataya yönlendirelim. */
$bt = popen('/bir/yol/calistirilabilirdosya 2>&1', 'r');
echo "'$tanıtıcı'; " . gettype($bt) . "\n";
$okunan = fread($bt, 2096);
echo $okunan;
pclose($bt);
?>
Bilginize:
İki yönlü destek arıyorsanız proc_open() kullanın.