popen

(PHP 4, PHP 5, PHP 7, PHP 8)

popenÖffnet einen Dateizeiger für einen Prozess

Beschreibung

popen(string $command, string $mode): resource|false

Öffnet eine Pipe zu einem Prozess durch Forken des Befehls, der durch command angegeben wurde.

Parameter-Liste

command

Das Kommando

mode

Der Modus. Entweder 'r' zum Lesen, oder 'w' zum Schreiben.

Unter Windows ist popen() standardmäßig auf den Textmodus eingestellt, d. h. alle in die Pipe geschriebenen oder aus ihr gelesenen \n-Zeichen werden in \r\n übersetzt. Wenn dies nicht gewünscht ist, kann der Binärmodus erzwungen werden, indem mode auf 'rb' bzw. 'wb' gesetzt wird.

Rückgabewerte

Gibt einen Dateizeiger zurück, der identisch ist mit dem, der bei der Funktion fopen() zurückgegeben wird, außer dass dieser nur in eine Richtung funktioniert (entweder lesend oder schreibend) und mit der Funktion pclose() geschlossen werden muss. Dieser Zeiger kann mit den Funktionen fgets(), fgetss() und fwrite() benutzt werden. Ist der Modus 'r', ist der zurückgegebene Dateizeiger das STDOUT des Kommandos; ist der Modus 'w', ist der zurückgegebene Dateizeiger das STDIN des Kommandos.

Wenn ein Fehler auftritt, wird false zurückgegeben.

Beispiele

Beispiel #1 popen()-Beispiel

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

Wenn das auszuführende Kommando nicht gefunden werden konnte, wird eine gültige Ressource zurückgegeben. Das mag seltsam erscheinen, ist aber sinnvoll; es ermöglicht Ihnen, auf von der Konsole zurückgegebene Fehlermeldungen zuzugreifen:

Beispiel #2 popen()-Beispiel

<?php
error_reporting
(E_ALL);

/* Umleitung hinzufügen, sodass wir stderr erhalten können */
$handle popen('/path/to/executable 2>&1''r');
echo 
"'$handle'; " gettype($handle) . "\n";
$read fread($handle2096);
echo 
$read;
pclose($handle);
?>

Anmerkungen

Hinweis:

Wenn Sie bidirektionale Unterstützung wünschen, verwenden Sie proc_open().

Siehe auch

  • pclose() - Schließt einen Prozess-Dateizeiger
  • fopen() - Öffnet eine Datei oder URL
  • proc_open() - Führt ein Kommando aus und öffnet Dateizeiger für die Ein- und Ausgabe

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

PHPUnit in der Version 10 erschienen

Das beliebte Testframeworks PHPUnit ist in der Version 10 erschienen und steht zum Download bereit ...

TheMax

Autor : TheMax
Kategorie: Software & Web-Development

Laravel 10 veröffentlicht

Laravel Version 10 steht mit einer Mindestanforderung von PHP 8.1 zum Download bereit. ...

admin

Autor : admin
Kategorie: Software & Web-Development

DeepL Erweiterung Write als beta veröffentlicht

DeepL hat eine neuen Dienst Namens „write“ veröffentlicht, der die Rechtschreibung und Grammatik mit KI verbessern soll. ...

admin

Autor : admin
Kategorie: Dies und Das

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Aufsatz

Hallo! Ich wollte meine Entdeckung mit euch teilen - Ghostwriter​ (https://wirschreiben.at/) . Diese Seite ist eine echte Oase für Schriftstell ...

Geschrieben von Faraon23 am 08.06.2023 21:04:40
Forum: Apps und PHP Script Gesuche
Aufsatz schreiben

Brauchen Sie Hilfe bei Ihrem Aufsatz? Ich kann Ihnen mit einer Empfehlung weiterhelfen und Sie über diesen Dienst informieren Ghostwriter Deutsch ...

Geschrieben von Faraon23 am 07.06.2023 18:56:39
Forum: Apps und PHP Script Gesuche
Welche Ghostwriter Agentur kontaktieren?

WirWRITE ist eine aussergewöhnliche Plattform, die Menschen in der Schweiz mit Erfahrene und seriöse Ghostwriter für alle Fachbereiche​ (http ...

Geschrieben von John534 am 07.06.2023 15:39:37
Forum: Off-Topic Diskussionen
Formular- Antwort

Das war es, ich musste der Datei einfach nur wieder :)den Originalnamen geben. Nun funktioniert es perfekt. Danke.

Geschrieben von Dirk66 am 21.05.2023 18:19:21
Forum: PHP Developer Forum