Funkcje Systemu plików
PHP Manual

popen

(PHP 4, PHP 5)

popenOtwiera wskaźnik pliku do procesu

Opis

resource popen ( string $polecenie , string $tryb )

Otwiera potok do procesu uruchomionego przez rozwidlenie polecenia (ang. forking) podanego w parametrze polecenie.

Zwraca wskaźnik pliku identyczny do tego zwracanego przez fopen() z wyjątkiem tego, że jest on jednokierunkowy (może być tylko użyty do odczytu lub zapisu) i musi być zamknięty za pomocą pclose(). Wskaźnik ten może być użyty z fgets(), fgetss() i fwrite().

W przypadku błędu, zwraca FALSE.

Informacja:

Jeśli szukasz dwukierunkowej obsługi (w obie strony), użyj proc_open().

Przykład #1 popen() przykład

<?php
$uchwyt 
popen("/bin/ls""r");
?>

Jeśli polecenie uruchamiane nie może zostać znalezione, poprawny zasób jest zwracany. To może wydawać się dziwne, ale ma sens; pozwala tobie na dostęp do wszystkich informacji o błędach zwracanych przez powłokę.

<?php
error_reporting
(E_ALL);

/* Dodanie przekierowania, aby móc dostać stderr. */
$uchwyt popen('/sciezka/do/czegos 2>&1''r');
echo 
"'$uchwyt'; " gettype($uchwyt) . "\n";
$czytaj fread($uchwyt2096);
echo 
$czytaj;
pclose($uchwyt);
?>

Informacja: Jeśli tryb bezpieczny został włączony, możliwe jest wykonywanie programów tylko z katalogu określonego przez safe_mode_exec_dir. Ze względów praktycznych, nie można podawać elementów .. w ścieżce do pliku wykonywalnego.

Ostrzeżenie

Jeśli włączony jest tryb bezpieczny, ciągi zawierające polecenia są filtrowane przez funkcję escapeshellcmd(). W związku z tym, echo y | echo x staje się echo y \| echo x.

Patrz także pclose(), fopen() i proc_open().


Funkcje Systemu plików
PHP Manual