рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рдореИрдВ рд╕рдлрд╛рдИ, incl рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ред рд╕рдлрд╛рдИ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИ - рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдмреАрдпрд░ рдкреАрдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ ...
* рдирд┐рдХреЛрд╕рд┐рдбреНрд╕ рдореЗрдВ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдкрд░реНрд▓ рд╣реИрдВред рдореИрдВ рдИрд░реНрд╖реНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдВред
рд╡рд┐рдВрдбреЛрдЬ рдпреВрдЬрд░реНрд╕ рдХреЗ рдкрд╛рд╕ BAT рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, js рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдФрд░ vbs рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рд╣реЛрддреА рд╣реИрдВред рдкреВрд░реНрд╡ рдореЗрдВ рд▓рдЪреАрд▓реЗрдкрди рдХрд╛ рдЕрднрд╛рд╡ рд╣реИ, рдФрд░ рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рд╡реАрдмреАрдПрд╕рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реАрдЦрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреА рд╡рд┐рд╢рд╛рд▓ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде PHP рд╣реИред рдФрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ PHP5 рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
> php.exe script.php
рдЕрдирд╛рдбрд╝реА рдФрд░ рдЧреИрд░-рджреЗрд╢реАред рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдЖрдк рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдХреЛ BAT рдХреА рддрд░рд╣ рд╣реА рд╕реБрд╡рд┐рдзрд╛ рдореЗрдВ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЭреВрда рдмреЛрд▓рдирд╛ - рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рдорд╛рдиред Linuxoids рдИрд░реНрд╖реНрдпрд╛ рд╣реЛрдЧреА!
рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
Windows рдлрд╝рд╛рдЗрд▓ рд╕рдВрдШреЛрдВ рдХреЛ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ HKEY_CLASSES_ROOT рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдКрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ
php_reg.zip рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЪреАрдЬреЗрдВ рддреИрдпрд╛рд░ рдХреА рд╣реИрдВред
рд╣рдо рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдЕрдирдкреИрдХ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ
рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЦреЛрд▓рддреЗ рд╣реИрдВ (
рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ! рдЕрднреА рддрдХ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред)
d:\\php
рдХреЛ рд╕реНрдерд╛рдкрд┐рдд PHP5 рдХреЗ рдкрде рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ (рдбрдмрд▓ рд╕реНрд▓реИрд╢ рдХреЗ рд╕рд╛рде, рдмрд┐рд▓реНрдХреБрд▓), рдФрд░
d:\\windows\\temp
рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдкрде рдХреЗ рд╕рд╛рде рдЕрд╕реНрдерд╛рдпреА (рд╣рд╛рдБ, рдореЗрд░реЗ рдкрд╛рд╕ D :) рдкрд░ Windows рд╣реИред
рдЕрдм рдЖрдк рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрд╡рд╕рд░реЛрдВ
рдЕрдм, PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рдЧрднрдЧ BAT рд▓рд┐рдкрд┐рдпреЛрдВ рдХреА рддрд░рд╣ рдЪрд▓рддреА рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рдХреЗрд╡рд▓ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рдХреЛ рднреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛:
> do_some_stuff.php рдХреБрдЫ рдЖрд░реНрдЧрдиреНрд╕ рдХреЗ рд╕рд╛рде
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХрдВрд╕реЛрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рди рддреЛ
$_GET
рдФрд░ рди рд╣реА
$_POST
рдФрд░ рди рд╣реА
$_REQUEST
рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп,
$_SERVER['argv']
:
_SERVER ["argv"] => рд╕рд░рдгреА
(
[0] => F: \ do_some_stuff.php,
[рез] => рдХреЗ рд╕рд╛рде,
[реи] => рдХреБрдЫ,
[рей] => рдЖрд░реНрдЧреНрд╕
)
_SERVER ["argc"] => 4
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░реЗ рд╣рд╛рдереЛрдВ рдореЗрдВ
рд╕рднреА PHP рдЙрдкрдХрд░рдг рд╣реИрдВ - рдФрд░ рдпрд╣, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕рд░рдгрд┐рдпреЛрдВ рдФрд░ рддрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛,
рдкреАрдбреАрдУ ,
рдЬреАрдбреА 2 ,
рд╕рд┐рдореНрдкреНрд▓реЗрдХреНрд╕рдПрдордПрд▓ + рдбреАрдУрдПрдо ,
рдХрд░реНрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝, рдкреАрдИрдЖрд░ рдХреНрд▓рд╛рд╕реЗрд╕ рдФрд░ рдЕрдиреНрдп рд╕рднреА PHP рдлрд╝реАрдЪрд░ рднреА рд╣реИрдВред
PHP рдФрд░ рдХрдВрд╕реЛрд▓ рдореЛрдб рдореЗрдВ рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ!
рдЗрдирдкреБрдЯ-рдЖрдЙрдЯрдкреБрдЯ
рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП,
echo
рдФрд░
print
рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЛ рддреБрд░рдВрдд рдХреБрдЫ рд╡рд╛рдкрд╕ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
fputs (STDOUT, "рдЕрд░реЗ! рдореИрдВ рдЖрдкрдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдпрд╣рд╛рдБ рдереЛрдбрд╝рд╛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реВрдБ!");
рд╡реИрд╕реЗ, рдХрдВрд╕реЛрд▓ рдореЗрдВ рд░реВрд╕реА рдирд╣реАрдВ рдмреЛрд▓рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ - CP866 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ CP-1251 рдирд╣реАрдВ, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ UTF8 рдирд╣реАрдВ ...рдпрджрд┐ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдХреБрдЫ рдкреВрдЫрдирд╛ рд╣реИ:
$ рдЗрдирдкреБрдЯ = рдлрд┐рдЯреНрд╕ (STDIN);
рд╡рд╛рдкрд╕реА рдХрд╛ рдкрд░рд┐рдгрд╛рдо
PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ BAT рдпрд╛ рдирд┐рдпрдорд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рддрд░рд╣ рдорд╛рди рд▓реМрдЯрд╛ рд╕рдХрддреА рд╣реИред рдорд╛рди
exit
рд▓рд┐рдП рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдирд┐рдХрд╛рд╕ (1); // рдкрд░рд┐рдгрд╛рдо 1 рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ
рдереЛрдбрд╝реА рд╕реБрд╡рд┐рдзрд╛ - рд╣рдо HTML рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ
рдФрд░ рдпрджрд┐ рдЖрдк HTML рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рднреА рдкреНрд░рд╛рд╡рдзрд╛рди рдХрд┐рдпрд╛ рд╣реИред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, "рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЦреЛрд▓реЗрдВ" - рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд╛рдж, рдЖрдкрдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЙрд╕ рдкреГрд╖реНрда рдХреЗ рд╕рд╛рде рдЦреБрд▓реЗрдЧрд╛ рдЬреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ .reg рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд╛рдЗрди рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: [HKEY_CLASSES_ROOT \ PHPFile \ Shell]
@ = "OpenInBrowser"
рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛ - рдлрд╝рд╛рдЗрд▓ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдПрдВ
рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк
php.ini
рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ
рд╢рд╛рдорд┐рд▓ рд╣реИрдВ_рдкрде = "; рдбреА; \ php \"
d:\php\includes
рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХрд┐рд╕реА рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ
d:\php\includes
рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ
рдареАрдХ рд╣реИ ... рдЪрд▓реЛ рдпрд╣ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдЯреНрд░реА рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ - HTML рдореЗрдВ, рдмрд┐рд▓реНрдХреБрд▓!
<? php
рд╕рдорд╛рд░реЛрд╣ recurse_dir ($ dir)
{
$ рдкреБрд░рд╛рдирд╛ = рдЧреЗрдЯрдХреЙрд╡ ();
chdir ($ dir);
$ рдерд┐рджрд┐рд░ = рдЧреЗрдЯрдХрд╡рд░реНрдб ();
рдЧреВрдВрдЬ "<ul>";
рдЕрдЧрд░ ($ рд╕рдВрднрд╛рд▓ = opendir ('ред')) {
рдЬрдмрдХрд┐ (рдЧрд▓рдд! == ($ рдлрд╝рд╛рдЗрд▓ = рд░реЗрдбреАрдпрд░ ($ рд╣реИрдВрдбрд▓))) {
if ($ рдлрд╝рд╛рдЗрд▓! = "ред" && $ рдлрд╝рд╛рдЗрд▓! = "..") {
?> <li> <a href="file://<?=$thisdir?> \ <? = $ рдлрд╝рд╛рдЗрд▓?> "> <? = $ рдлрд╝рд╛рдЗрд▓?> <?
рдЕрдЧрд░ (is_dir ($ рдлрд╝рд╛рдЗрд▓))
recurse_dir ($ рдлрд╝рд╛рдЗрд▓);
?> </ li> <?
}
}
}
рдмрдВрдж ($ рд╕рдВрднрд╛рд▓);
рдЗрдХреЛ "</ ul>";
chdir ($ olddir);
}
рдЕрдЧрд░ ($ _SERVER ['argc']> = 2)
$ dir = $ _SERVER ['argv'] [1];
рдЕрдиреНрдпрдерд╛
$ dir = getcwd ();
?>
<h1> <? = $ dir?> </ h1>
<?
recurse_dir ($ dir);
?>
рдореЗрд░реЗ рдмреНрд▓реЙрдЧ рд╕реЗ рдХреНрд░реЙрд╕рдкреЛрд╕реНрдЯ:
рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ PHP5