passthru
(PHP 4, PHP 5, PHP 7, PHP 8)
passthru β ΠΠΈΠΊΠΎΠ½Π°ΡΠΈ Π·ΠΎΠ²Π½ΡΡΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡ ΡΠ° Π²ΡΠ΄ΠΎΠ±ΡΠ°Π·ΠΈΡΠΈ Π½Π΅ΠΎΠ±ΡΠΎΠ±Π»Π΅Π½ΠΈΠΉ Π²ΠΈΡΠ½ΠΎΠ²ΠΎΠΊ
ΠΠΏΠΈΡ
passthru(string $command, int &$result_code = null): ?false
Π€ΡΠ½ΠΊΡΠΈΡ**passthru()**ΠΏΠΎΡ
ΠΎΠΆΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡexec() Ρ ΡΠΎΠΌΡ, ΡΠΎ Π²ΠΎΠ½Π° Π²ΠΈΠΊΠΎΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ command
. Π¦Ρ ΡΡΠ½ΠΊΡΡΡ ΠΌΠ°Ρ Π±ΡΡΠΈ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π° Π·Π°ΠΌΡΡΡΡ ΡΡΠ½ΠΊΡΡΡ exec() Π°Π±ΠΎ system(), ΠΊΠΎΠ»ΠΈ Π²ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Unix Ρ Π΄Π²ΡΠΉΠΊΠΎΠ²ΠΈΠΌΠΈ Π΄Π°Π½ΠΈΠΌΠΈ, ΡΠΊΡ Π½Π΅ΠΎΠ±Ρ
ΡΠ΄Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π±Π΅Π·ΠΏΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΠΎ Π² Π±ΡΠ°ΡΠ·Π΅Ρ. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π΅ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ ΡΡΡΡ ΡΡΠ½ΠΊΡΡΡ - Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ ΡΠ°ΠΊΠΈΡ
ΡΡΠΈΠ»ΡΡ ΡΠΊ pbmplus, ΡΠΊΡ Π±Π΅Π·ΠΏΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΠΎ Π²ΠΈΠ²ΠΎΠ΄ΡΡΡ ΠΏΠΎΡΡΠΊ Π·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½Ρ. ΠΡΡΠ°Π½ΠΎΠ²ΠΈΠ²ΡΠΈ Content-type Π² image/gif
Ρ ΠΏΠΎΡΡΠΌ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Π²ΡΠΈ pbmplus Π΄Π»Ρ Π²ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ gif, Π²ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ²ΠΎΡΠΈΡΠΈ PHP-ΡΠΊΡΠΈΠΏΡΠΈ, ΡΠΊΡ Π²ΠΈΠ²ΠΎΠ΄ΡΡΡ Π·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½Ρ Π±Π΅Π·ΠΏΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΠΎ Π² Π±ΡΠ°ΡΠ·Π΅Ρ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ²
command
ΠΠΎΠΌΠ°Π½Π΄Π°, ΡΠΊΠ° Π±ΡΠ΄Π΅ Π²ΠΈΠΊΠΎΠ½Π°Π½Π°.
result_code
Π―ΠΊΡΠΎ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ result_code
, ΡΠΎ ΠΊΠΎΠ΄ ΠΏΠΎΠ²Π΅ΡΠ½Π΅Π½Π½Ρ Unix-ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π±ΡΠ΄Π΅ ΡΠΎΠ·ΠΌΡΡΠ΅Π½ΠΈΠΉ ΡΡΡ.
ΠΠ½Π°ΡΠ΅Π½Π½Ρ, ΡΠΎ ΠΏΠΎΠ²Π΅ΡΡΠ°ΡΡΡΡΡ
ΠΠΎΠ²Π΅ΡΡΠ°Ρ null
Ρ ΡΠ°Π·Ρ ΡΡΠΏΡΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ Π°Π±ΠΎ **false
**Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠΎΠΌΠΈΠ»ΠΊΠΈ
ΠΠΈΠ΄Π°Ρ ΠΏΠΎΠΌΠΈΠ»ΠΊΡ ΡΡΠ²Π½Ρ E_WARNING
, ΡΠΊΡΠΎ ΡΡΠ½ΠΊΡΡΡ passthru() Π½Π΅ ΠΌΠΎΠΆΠ΅ Π²ΠΈΠΊΠΎΠ½Π°ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ command
ΠΠΈΠΊΠΈΠ΄Π°Ρ Π²ΠΈΠ½ΡΡΠΎΠΊ ValueError, ΡΠΊΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ command
Π½Π΅ Π²ΠΊΠ°Π·Π°Π½ΠΎ Π°Π±ΠΎ ΠΌΡΡΡΠΈΡΡ Π½ΡΠ»ΡΠΎΠ²Ρ Π±Π°ΠΉΡΠΈ.
ΡΠΏΠΈΡΠΎΠΊ Π·ΠΌΡΠ½
ΠΠ΅ΡΡΠΈΡ | ΠΠΏΠΈΡ |
---|---|
8.0.0 | Π―ΠΊΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ command Π½Π΅ Π²ΠΊΠ°Π·Π°Π½ΠΎ Π°Π±ΠΎ ΠΌΡΡΡΠΈΡΡ Π½ΡΠ»ΡΠΎΠ²Ρ Π±Π°ΠΉΡΠΈ, ΡΡΠ½ΠΊΡΡΡ passthru() ΡΠ΅ΠΏΠ΅Ρ Π²ΠΈΠΊΠΈΠ΄Π°Ρ Π²ΠΈΠ½ΡΡΠΎΠΊ ValueError; ΡΠ°Π½ΡΡΠ΅ Π²ΠΎΠ½Π° Π²ΠΈΠ΄Π°Π²Π°Π»Π° ΠΏΠΎΠΌΠΈΠ»ΠΊΡ ΡΡΠ²Π½Ρ E_WARNING Ρ ΠΏΠΎΠ²Π΅ΡΡΠ°Π»Π° false |
ΠΡΠΈΠΌΡΡΠΊΠΈ
Π£Π²Π°Π³Π°
Π―ΠΊΡΠΎ ΠΏΠΎΡΡΡΠ±Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΠΈ ΡΡΠ½ΠΊΡΡΡ Π΄Π°Π½Ρ ΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ°, Π²ΠΈΠΊΠ»ΠΈΠΊΠ°ΡΡΡ ΡΡΠ½ΠΊΡΡΡ escapeshellarg() Π°Π±ΠΎ escapeshellcmd()ΡΠΎΠ± ΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΡ Π½Π΅ Π·ΠΌΠΎΠ³Π»ΠΈ ΠΎΠ±Π΄ΡΡΠΈΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, Π·Π°ΠΏΡΡΡΠΈΠ²ΡΠΈ Π΄ΠΎΠ²ΡΠ»ΡΠ½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ°ΡΠ²Π°ΠΆΠ΅Π½Π½Ρ :
Π―ΠΊΡΠΎ ΠΏΠΎΡΡΡΠ±Π½ΠΎ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°ΡΠΈ ΡΡ ΡΡΠ½ΠΊΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΡ, ΡΠΎ ΠΏΡΠ°ΡΡΡ ΡΠΊ Π΄Π΅ΠΌΠΎΠ½, ΠΏΠ΅ΡΠ΅Π²ΡΡΡΡΡΡ, ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π΅ Π²ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ ΡΡΠ½ΠΊΡΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Ρ ΡΠ°ΠΉΠ» Π°Π±ΠΎ ΡΠ½ΡΠΈΠΉ ΠΏΠΎΡΡΠΊ, ΡΠ½Π°ΠΊΡΠ΅ PHP Π·Π°Π²ΠΈΡΠ½Π΅ Π°ΠΆ Π΄ΠΎ ΠΊΡΠ½ΡΡ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ.
ΠΠΈΠ²ΡΡΡΡΡ ΡΠ°ΠΊΠΎΠΆ
- exec() - ΠΠΈΠΊΠΎΠ½Π°ΡΠΈ Π·ΠΎΠ²Π½ΡΡΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡ
- system() - ΠΠΈΠΊΠΎΠ½Π°ΡΠΈ Π·ΠΎΠ²Π½ΡΡΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡ ΡΠ° Π²ΡΠ΄ΠΎΠ±ΡΠ°Π·ΠΈΡΠΈ Π²ΠΈΡΠ½ΠΎΠ²ΠΎΠΊ
- popen() - ΠΡΠ΄ΠΊΡΠΈΠ²Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΠΉ ΠΏΠΎΠΊΠ°ΠΆΡΠΈΠΊ ΠΏΡΠΎΡΠ΅ΡΡ
- escapeshellcmd() - ΠΠΊΡΠ°Π½ΡΠ²Π°ΡΠΈ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ°
- ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ