php ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Php ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΡΡΠΎΠΊΠΈ ΠΏΠΎ PHP ΡΠΊΡΠΈΠΏΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° ΡΠ²ΠΎΠΈΡ ΡΠ΅ΡΡΡΡΠ°Ρ .
Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ zend-filter
ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΈΠ΄ΡΡ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°, ΡΠΎ ΡΡΠ°Π·Π° «ΡΠΈΠ»ΡΡΡΡΠΉΡΠ΅ Π²ΡΡ, ΡΠΊΡΠ°Π½ΠΈΡΡΠΉΡΠ΅ Π²ΡΡ» Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ΅ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ zend-escaper
ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π²Π΅Π±-ΡΠ°ΠΉΡΠ° β ΡΡΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΠΈΡΠ° ΠΎΡ SQL ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΉ, Π½ΠΎ ΠΈ ΠΏΡΠΎΡΠ΅ΠΊΡΠΈΡ ΠΎΡ ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³Π° (XSS), ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² (CSRF) ΠΈ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ Π²ΠΈΠ΄ΠΎΠ² Π°ΡΠ°ΠΊ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ HTML, CSS ΠΈ JavaScript ΠΊΠΎΠ΄Π°.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Zend ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΊ Expressive
Expressive 2 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ZF ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅. ΠΠ΅ Π²ΡΠ΅ΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ Π΄Π°Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠ»ΡΡΡΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
Π‘ΠΎΠ²Π΅Ρ: ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Google Analytics ΡΠ΅ΡΠ΅Π· API
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Google Analytics ΠΈΠ· ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΡΠ²Π΅Ρ Π² ΡΡΠΎΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠ΅.
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° PHP ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡ
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²ΠΈΠ΄ΠΎΠ² PHP ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡ. ΠΠ° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ online ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠ΅ΡΡΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄, Π½ΠΎ Π΅ΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅Π΄ΡΠΈΡΡ Π½Π° ΡΠ²ΠΎΠΉ ΡΠ°ΠΉΡ.
Π‘ΠΎΠ²Π΅Ρ: Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ Π² PHP
ΠΡΠΈ ΠΏΠΎΠ΄Π½ΡΡΠΈΠΈ PHP ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° Π½ΠΎΠ²ΠΎΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΊΡΡΡΠΎ Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ, ΠΏΡΠΎΠΏΠΈΡΠ°Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΠ³Π΅Π½Ρ
PHP ΠΏΠ°ΡΡΠ΅Ρ ΡΠ·Π΅Ρ Π°Π³Π΅Π½ΡΠ° Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Laravel, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π° Π±Π°Π·Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Mobile Detect.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ZIP-Π°ΡΡ ΠΈΠ²Π° Π½Π° PHP
ΠΡΠ΅ΡΠ° Π½Π° ΡΠΎΡΡΠΌΠ΅ Ρ ΠΌΠ΅Π½Ρ ΡΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΏΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ZIP-Π°ΡΡ ΠΈΠ²ΠΎΠ² Π½Π° PHP. Π― Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°Π» ΠΈ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΡΡΠΎ ΡΠ΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΡΠΈΡΠ»Ρ Π»ΡΠ΄Π΅ΠΉ, Π²Π΅Π΄Ρ ZIP-Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° PHP Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΡΠ΅ΠΌΠ°. Π Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ZIP-Π°ΡΡ ΠΈΠ² ΡΠ΅ΡΠ΅Π· PHP-ΡΠΊΡΠΈΠΏΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Ρ ΡΡΠ°Π·Ρ ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ZIP-Π°ΡΡ ΠΈΠ²Π°, Π° ΠΏΠΎΡΠΎΠΌ Π΅Π³ΠΎ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΡ:
open(«archive.zip», ZIPARCHIVE::CREATE); //ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ (ΡΠΎΠ·Π΄Π°ΡΠΌ) Π°ΡΡ
ΠΈΠ² archive.zip
$zip->addFile(«index.php»); //ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² Π°ΡΡ
ΠΈΠ² ΡΠ°ΠΉΠ» index.php
$zip->addFile(«styles/style.css»); //ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² Π°ΡΡ
ΠΈΠ² ΡΠ°ΠΉΠ» styles/style.css
$zip->close(); //ΠΠ°Π²Π΅ΡΡΠ°Π΅ΠΌ ΡΠ°Π±ΠΎΡΡ Ρ Π°ΡΡ
ΠΈΠ²ΠΎΠΌ
?>
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΠΎΡΠ²ΠΈΡΡΡ ZIP-Π°ΡΡ ΠΈΠ², Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π² ΠΊΠΎΡΠ½Π΅ Π±ΡΠ΄Π΅Ρ Π»Π΅ΠΆΠ°ΡΡ ΡΠ°ΠΉΠ» index.php, Π° ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ styles, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΡΠ°ΠΉΠ» style.css. Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π²ΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ ΠΈ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ. Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΡ, ΡΡΠΎ ΠΌΡ Ρ ΠΠ°ΠΌΠΈ Π΄Π΅Π»Π°Π»ΠΈ:
ΠΠΎΡ ΡΠ°ΠΊΠΈΠΌ ΠΏΡΠΎΡΡΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ZIP-Π°ΡΡ ΠΈΠ²Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PHP. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Ρ ΠΠ°ΠΌΠΈ ΡΠ°Π·Π±Π΅ΡΡΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ZIP-Π°ΡΡ ΠΈΠ² ΡΠ΅ΡΠ΅Π· PHP.
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π°Π²ΡΠΎΡΠ° (ΠΠΈΡ Π°ΠΈΠ» Π ΡΡΠ°ΠΊΠΎΠ²) ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΡΡΠΌΠΎΠΉ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΡΠ°ΠΉΡ (http://myrusakov.ru)!
ΠΠΎΠ±Π°Π²Π»ΡΠΉΡΠ΅ΡΡ ΠΊΠΎ ΠΌΠ½Π΅ Π² Π΄ΡΡΠ·ΡΡ ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅: http://vk.com/myrusakov.
ΠΡΠ»ΠΈ ΠΡ Ρ
ΠΎΡΠΈΡΠ΅ Π΄Π°ΡΡ ΠΎΡΠ΅Π½ΠΊΡ ΠΌΠ½Π΅ ΠΈ ΠΌΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅, ΡΠΎ Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π΅Ρ Π² ΠΌΠΎΠ΅ΠΉ Π³ΡΡΠΏΠΏΠ΅: http://vk.com/rusakovmy.
ΠΡΠ»ΠΈ ΠΡ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π½Π° ΡΠ°ΠΉΡΠ΅,
ΡΠΎ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ: ΠΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ
ΠΡΠ»ΠΈ Ρ ΠΠ°Ρ ΠΎΡΡΠ°Π»ΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π²ΠΎΠΏΡΠΎΡΡ, Π»ΠΈΠ±ΠΎ Ρ ΠΠ°Ρ Π΅ΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π²ΡΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ, ΡΠΎ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π²Π½ΠΈΠ·Ρ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠΉΡΠ΅ ΡΡΡ ΡΡΠ°ΡΡΡ Π΄ΡΡΠ·ΡΡΠΌ:
ΠΡΠ»ΠΈ ΠΠ°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΡΡ ΡΠ°ΠΉΡ, ΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΡΡΠ»ΠΊΡ Π½Π° Π½Π΅Π³ΠΎ (Ρ ΡΠ΅Π±Ρ Π½Π° ΡΠ°ΠΉΡΠ΅, Π½Π° ΡΠΎΡΡΠΌΠ΅, Π² ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅):
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ( 21 ):
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ°ΡΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΈ Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ .
ΠΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ «ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²»? ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²Π΅ΡΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ°ΠΉΠ»ΠΎΠ² Π²Π½ΡΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΡ ΡΡΠΎ Ρ ΠΎΡΠΈΡΠ΅?
ΠΠ°, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΡΠ°ΠΊ. Π― ΠΏΡΡΠ°Π»ΡΡ ΡΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ, Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ.
Π₯ΠΎΡΠΎΡΠΎ, Π½Π°ΠΏΠΈΡΡ Π² ΠΏΡΡΠ½ΠΈΡΡ ΡΠ°ΠΊΡΡ ΡΡΠ°ΡΡΡ.
ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ.
Π ΠΊΠ°ΠΊ Π² Π°ΡΡ ΠΈΠ² Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΏΠΎΠ΄ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ ΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΡΠΎΠ± Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΡΡΠ½ΡΡ?
Π’Π°ΠΊ ΠΏΡΠΎΡΡΠΎ Π½Π΅Π»ΡΠ·Ρ. ΠΡΡ ΡΠ°Π²Π½ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΊΠ°ΠΊ ΠΏΡΡΡΡΡ ΠΈ Π² Π½Π΅Ρ ΡΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°ΠΉΠ»Ρ.
ΠΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ php_zip.dll
ΠΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅Π»ΡΠ·Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π°ΡΡ ΠΈΠ²Ρ? ΠΡΠΎ Π²Π΅Π΄Ρ ΠΠ΅Π½Π²Π΅Ρ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅.
ΠΠ°Π»ΠΈ Π±Ρ ΡΡΠ°Π·Ρ ΠΈ ΡΡΡΠ»ΠΊΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π½Π° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ZIP-Π°ΡΡ ΠΈΠ²Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π° PHP
ZIP-Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° PHP Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ ΡΠ΅ΠΌΠ°. Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ZIP-Π°ΡΡ ΠΈΠ² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠ΅ΡΠ΅Π· PHP-ΡΠΊΡΠΈΠΏΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Ρ ΡΡΠ°Π·Ρ ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ZIP-Π°ΡΡ
ΠΈΠ²Π°, Π° Π·Π°ΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΡ:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΠΎΡΠ²ΠΈΡΡΡ ZIP-Π°ΡΡ
ΠΈΠ², Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π² ΠΊΠΎΡΠ½Π΅ Π±ΡΠ΄Π΅Ρ Π»Π΅ΠΆΠ°ΡΡ ΡΠ°ΠΉΠ» ‘index.php‘. Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ ΠΈ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ. Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΡ, ΡΡΠΎ ΠΌΡ Ρ ΠΠ°ΠΌΠΈ Π΄Π΅Π»Π°Π»ΠΈ:
1. Π‘ΠΎΠ·Π΄Π°Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ZipArchive Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°.
2. Π‘ΠΎΠ·Π΄Π°Π»ΠΈ Π°ΡΡ ΠΈΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Open ΠΎΠ±ΡΠ΅ΠΊΡΠ° ZipArchive. ΠΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π° archive.zip ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ZIPARCHIVE::CREATE, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ Π°ΡΡ ΠΈΠ² Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΠΎ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ.
3. ΠΠ΅ΡΠΎΠ΄ AddFile Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² Π°ΡΡ ΠΈΠ² ΡΠ°ΠΉΠ» ‘index.php‘, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠΌ.
4. ΠΠ΅ΡΠΎΠ΄ Close Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π°ΡΡ ΠΈΠ²ΠΎΠΌ. ΠΡΠ΅Π³Π΄Π° Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΡΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ ΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΎΠΌΡ Π°ΡΡ ΠΈΠ²Ρ.
ΠΠΎΡ ΡΠ°ΠΊΠΈΠΌ ΠΏΡΠΎΡΡΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ZIP-Π°ΡΡ ΠΈΠ²Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PHP.
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ Π²ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΡΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π°ΡΡ
ΠΈΠ² ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΡΡΠΊΡΡΡΡ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΊΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠΎΡ ΠΊΠΎΠ΄:
Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎ ΡΠ°Π·Π°ΡΡ
ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ZIP-Π°ΡΡ
ΠΈΠ² ΡΠ΅ΡΠ΅Π· PHP.
ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°ΡΡ
ΠΈΠ²Π° Π±ΡΠ» ΠΏΡΠΎΡΡ: ΠΎΡΠΊΡΡΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π² Π°ΡΡ
ΠΈΠ², Π·Π°ΠΊΡΡΡΡ. ΠΠ»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ZIP-Π°ΡΡ
ΠΈΠ²Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ
ΠΎΠΆ: ΠΎΡΠΊΡΡΡΡ, Π²ΡΡΠ°ΡΠΈΡΡ, Π·Π°ΠΊΡΡΡΡ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ZIP-Π°ΡΡ
ΠΈΠ²Π΅ Π±ΡΠ΄ΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Zip ΠΈ Unzip ΡΠ°ΠΉΠ»Ρ Π² PHP
Russian (PΡΡΡΠΊΠΈΠΉ) translation by Ellen Nelson (you can also view the original English article)
Π‘ΠΆΠ°ΡΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΈ ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ². Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π², ΠΎΠ±ΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΆΠ°ΡΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΏΡΠΈΡΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΊ, Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΏΠΎΠ»ΡΡΠ°Ρ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π·Π°Π³ΡΡΠ·ΡΡ ΡΠ°ΠΉΠ», ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΠΎΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΠΆΠ°ΡΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ ΠΈ Π΄Π»Ρ Π²Π°Ρ, ΠΈ Π΄Π»Ρ Π²Π°ΡΠΈΡ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Π΅ΠΉ.
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΡΠΎΡΠΎΠ², ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ ΡΠΆΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π΄Π»Ρ Π²Π°Ρ ΠΎΡΠ΅Π½Ρ ΡΡΠΎΠΌΠΈΡΠ΅Π»Π΅Π½ β Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΡΡΠΎ Π²ΡΡΡΠ½ΡΡ. Π ΡΡΠ°ΡΡΡΡ, Ρ PHP Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² ΡΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΡ , Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΆΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° PHP.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ Π²Ρ Π½Π°ΡΡΠΈΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ zip ΠΈ unzip β ΡΠΆΠΈΠΌΠ°ΡΡ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ Π²/ΠΈΠ· zip-Π°ΡΡ ΠΈΠ² Π² PHP. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ Π² Π°ΡΡ ΠΈΠ²Π΅, Π½Π΅ Π±Π΅Π· ΠΈΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ.
Π‘ΠΆΠ°ΡΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² PHP
ΠΠ»Π°ΡΡ PHP ZipArchive ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΡΠΆΡΠΆΠΈΠΌΠ°ΡΡ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ Π²ΡΠ΅ Π²Π°ΡΠΈ ΡΠ°ΠΉΠ»Ρ.
Π‘ΠΆΠ°ΡΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π²Π°Ρ Π΅ΡΡΡ Π²Π΅Π±-ΡΠ°ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΡΡΠΈΡΡΠΎΠ² Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΌΠΈ. Π€Π°ΠΉΠ»Ρ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΠΈΠΌ, ΡΡΠ°Π½ΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° PHP. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° fonts/Monoton. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΊΠΎΠ΄ PHP ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΏΡΡΠΌΠΎ Π² ΠΊΠΎΡΠ΅Π½Ρ Π½Π°ΡΠ΅Π³ΠΎ Π°ΡΡ ΠΈΠ²Π°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² Π°ΡΡ ΠΈΠ²Π΅.
Π‘ΠΆΠ°ΡΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΡΡΠ½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ addGlob() ΠΈ Π²ΡΠ΅Ρ ΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ .jpg Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ lights ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΈΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ light_wallpapers Π² Π°ΡΡ ΠΈΠ²Π΅. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ .ttf Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ documents, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΈΡ Π² Π°ΡΡ ΠΈΠ² Π² ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ font_files. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ ΡΡΠ°Π·Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ .jpg ΠΈ .png Π² Π½Π°ΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΈΡ Π²ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ images.
ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈΠ· Π°ΡΡ ΠΈΠ²Π°
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ, ΠΈ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΠΏΡΡΡΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ·Π²Π»Π΅ΡΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π°ΡΡ ΠΈΠ²Π°.
ΠΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ Π°ΡΡ
ΠΈΠ²Π°ΠΌΠΈ
ΠΠ»Π°ΡΡ ZipArchive ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΡΠ²ΠΎΠΉΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π°ΡΡ ΠΈΠ²Π΅ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Π³ΠΎ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΌΡ ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Π°ΡΡ ΠΈΠ²Π°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΡΠ»ΠΎΠ²ΠΎ Italic. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°. Π’Π°ΠΊΠΆΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈ Π·Π°ΠΌΠ΅Π½ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π½Π° Π΄ΡΡΠ³ΠΎΠ΅.
Π ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ deleteName() Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ΄Π½Π°ΠΊΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
ΠΠ°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΡΡΠ»ΠΈ
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ count() ΠΈ numFiles Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, Π° ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠΌ. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΡΡ .
Π Π°Π±ΠΎΡΠ° Ρ ZIP Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ Π² PHP
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π° Zip Π² PHP ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Zip Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ ΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π² PHP 5 Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ php_zip.dll Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»Π° php.ini. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Zip Π°ΡΡ ΠΈΠ²ΠΎΠ² Π² PHP, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ΄ PHP Π΄Π΅ΠΌΠΎ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡ Π½Π°ΡΡΠΈΡΠ΅ΡΡ: ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Zip Π°ΡΡ ΠΈΠ²Ρ;
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Zip Π°ΡΡ ΠΈΠ²ΠΎΠ² Π² PHP ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Zip Π°ΡΡ ΠΈΠ²Π° Π² PHP ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ZIPARCHIVE::CREATE; Π°ΡΡ ΠΈΠ² Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. (ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π²Π½ΡΡΡΡ Π°ΡΡ ΠΈΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ addFile ΠΈ addFromString.) ΠΠ΅ΡΠ²ΠΎΠ΅ Π΄Π΅ΠΌΠΎ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (add_file_from_string.php) ΡΠΎΠ·Π΄Π°Π΅Ρ (Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ) ΠΈΠ»ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Zip Π°ΡΡ ΠΈΠ² archive1.zip, Π° ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π² Π½Π΅Π³ΠΎ ΡΠ°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄ addFromString():
ΠΠ΄Π΅ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ add_file_from_string.php:
Π‘ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ add_file_from_string.php Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π½Π° Π ΠΈΡΡΠ½ΠΊΠ΅ 1.
Π€Π°ΠΉΠ»ΠΎΠ²ΡΠΉ ΡΠ΅ΠΊΡΡ test1.txt Π±ΡΠ» ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² archive1.zip
Π ΠΈΡ.1 The archive1.zip
ΠΡΠΎΡΠΎΠ΅ Π΄Π΅ΠΌΠΎ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (add_file_directory.php) ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π°ΡΡ ΠΈΠ² archive1.zip Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ Π²ΡΠ΅Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ZipArchive (ΡΡΠ°ΡΡΡ, statusSys, numFiles, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π°ΡΡ ΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²), ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΡΡΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Subdirectory1. ΠΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π°ΡΡ ΠΈΠ² archive1.zip Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄ addFile. ΠΠΈΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² addFile() ΠΈ addEmptyDir():
ΠΠ΄Π΅ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ add_file_directory.php:
Π‘ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π»ΠΈΡΡΠΈΠ½Π³Π° add_file_directory.php Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π½Π° Π ΠΈΡΡΠ½ΠΊΠ΅ 2:
ZipArchive Object ( [status] => 0 [statusSys] => 0 [numFiles] => 2 [filename] => D:\Apache Group\Apache2\htdocs\php\ZIP\archive1.zip [comment] => PHP ZIP ARCHIVE ) Π‘ΠΎΠ·Π΄Π°Π½ Π½ΠΎΠ²ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ: PHP ZIP ARCHIVE β ΡΠ°ΠΉΠ»Π°:4
Π ΠΈΡΡΠ½ΠΎΠΊ 2. Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° archive2.zip
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ Π΄Π΅ΠΌΠΎ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Zip Π°ΡΡ ΠΈΠ²Π° archive2.zip, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π΄Π²Π° ΡΠ°ΠΉΠ»Π°: test3.txt ΠΈ test4.txt. (ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π½ΠΈΠΆΠ΅.) ΠΠΎΠ΄ Π΄Π»Ρ archive2.php:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ archive2.php. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ Π½Π° Π ΠΈΡΡΠ½ΠΊΠ΅ 3: Π€Π°ΠΉΠ»ΠΎΠ²ΡΠΉ ΡΠ΅ΠΊΡΡ test3.txt ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² archive2.zip ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° addFile Π€Π°ΠΉΠ»ΠΎΠ²ΡΠΉ ΡΠ΅ΠΊΡΡ test4.txt ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² archive2.zip ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° addFromString method.
Π ΠΈΡΡΠ½ΠΎΠΊ 3. Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ archive2.zip
ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Zip Π°ΡΡ ΠΈΠ²Π° Π² PHP
ΠΡΡ ΠΈΠ²Ρ archive1.zip ΠΈ archive2.zip Π±ΡΠ΄ΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Ρ Π² ΠΏΠ°ΠΏΠΊΡ archive, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Π ΠΈΡΡΠ½ΠΊΠ΅ 4. ΠΠΎΠ΄ Π΄Π»Ρ extract_archives.php:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ extract_archives.php: archive1.zip ΠΈ archive2.zip Π±ΡΠ»ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Ρ Π² ΠΏΠ°ΠΏΠΊΡ archive!
Π ΠΈΡΡΠ½ΠΎΠΊ 4. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ°ΠΏΠΊΠΈ archive ΠΏΠΎΡΠ»Π΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ archive1 ΠΈ archive2
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ Π΄Π΅ΠΌΠΎ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (extract_to_specified_folder.php) ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Zip Π°ΡΡ ΠΈΠ²Π° Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ extractTo(). ΠΠΎΠ΄ Π΄Π»Ρ extract_to_specified_folder.php:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ extract_to_specified_folder.php. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ Π½Π° Π ΠΈΡΡΠ½ΠΊΠ΅ 5: ΠΡΡ ΠΈΠ² ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ Π² ΠΏΠ°ΠΏΠΊΡ ZIP_extract!
Π ΠΈΡΡΠ½ΠΎΠΊ 5. ΠΠ°ΠΏΠΊΠ° ZIP_extract Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ archive1
Π‘ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ Π»ΠΈΡΡΠΈΠ½Π³Π° filelist.php Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π½Π° Π ΠΈΡΡΠ½ΠΊΠ΅ 6: Π€Π°ΠΉΠ»Ρ test3.txt ΠΈ test4.txt ΠΈΠ· Π°ΡΡ ΠΈΠ²Π° archive2.zip ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Ρ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ZIP_TEST!
Π ΠΈΡΡΠ½ΠΎΠΊ 6.ΠΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ· archive2 Π² Π½Π°Π·Π½Π°ΡΠ΅Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ZIP_TEST
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ statIndex:
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ Π΄Π΅ΠΌΠΎ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (statIndex.php) ΠΈΡΠ΅ΡΠΈΡΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π² archive2.zip ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΎΠ΄ Π΄Π»Ρ statIndex.php:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π»ΠΈΡΡΠΈΠ½Π³Π° 5.php:
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ Π΄Π΅ΠΌΠΎ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (locate.php) ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ°ΠΉΠ»Π°, ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΡΡΠΎ archive1.zip ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ». ΠΠ΅ΡΠΎΠ΄ locateName Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ°ΠΉΠ»Π° Π² Π°ΡΡ ΠΈΠ²Π΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ZIPARCHIVE::FL_NODIR, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. ΠΡΠΎΡΠΎΡΠΈΠΏ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ZIPARCHIVE::FL_NODIR :
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π»ΠΈΡΡΠΈΠ½Π³Π° locate.php:
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Zip Π°ΡΡ ΠΈΠ²ΠΎΠ² Π² PHP
ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Zip Π°ΡΡ ΠΈΠ²ΠΎΠ² Π² PHP ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ, Π²ΠΊΠ»ΡΡΠ°ΡΡ:
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ Π΄Π΅ΠΌΠΎ-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (rename.php) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΠ΅ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° Ρ «index=3», ΠΊΠ°ΠΊ «renameByIndex.txt», ΠΈ «test4.txt», ΠΊΠ°ΠΊ «renameByName.txt». ΠΠΎΠ΄ Π΄Π»Ρ rename.php:
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Π»ΠΈΡΡΠΈΠ½Π³Π° rename.php. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ Π½Π° Π ΠΈΡΡΠ½ΠΊΠ΅ 7 ΠΈ Π ΠΈΡΡΠ½ΠΊΠ΅ 8: Π€Π°ΠΉΠ»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρ Π² Π°ΡΡ ΠΈΠ²Π΅ archive2.zip!
Π ΠΈΡΡΠ½ΠΎΠΊ 7. ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ archive2.zip
Π ΠΈΡΡΠ½ΠΎΠΊ 8. Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π° archive2.zip ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρ
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (delete.php) ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΈΠ· archive2.zip ΡΠ°ΠΉΠ» Ρ «index=1» ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» renameByIndex.txt, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ deleteIndex() ΠΈ deleteName(). ΠΠΎΠ΄ Π΄Π»Ρ delete.php:
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ Π»ΠΈΡΡΠΈΠ½Π³Π° add_text_files.php: text_archive.zip ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½!
Π ΠΈΡΡΠ½ΠΎΠΊ 9. ΠΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² Π½ΠΎΠ²ΡΠΉ Π°ΡΡ ΠΈΠ² text_archive.zip
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΊ Π²Ρ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΠΈΠ·ΡΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΡΠ°ΡΡΠ΅, ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Π°ΡΡ ΠΈΠ²Π° Zip Π² PHP Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈ Π΄Π°ΠΆΠ΅ Π·Π°Π±Π°Π²Π½ΠΎ. ΠΡΠ΅, ΡΡΠΎ ΠΎΡ Π²Π°Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΡΠΎ ΡΠΌΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ Ρ ΡΡΠΏΠ΅Ρ ΠΎΠΌ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Zip Π°ΡΡ ΠΈΠ²Π°ΠΌΠΈ.