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() - Π•ΠΊΡ€Π°Π½ΡƒΠ²Π°Ρ‚ΠΈ мСтасимволи ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ рядка
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ виконання