ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π² 1Π‘-ΠΠΈΡΡΠΈΠΊΡ β Π±Π°Π·ΠΎΠ²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ.hether Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΠ΅ PDF-ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΡΠ΅Π· API, ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π½ΡΠ°Π½ΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π° Π·Π°Π³ΡΡΠ·ΠΊΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ Π²ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ: ΠΎΡ ΡΡΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Π΄ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΡΠ΅Π· REST API ΠΈ FTP.
ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΠΈΠΌ ΡΠΈΠΏΠΈΡΠ½ΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 403 Forbidden ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠ΅ΡΠ΅Π· FTP ΠΈΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π΄Π»Ρ ΠΊΡΡΠΏΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ 1Π‘-ΠΠΈΡΡΠΈΠΊΡ: Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠΎΠΌ Π²Π΅ΡΡΠΈΠΈ 20.Ρ
ΠΈ Π²ΡΡΠ΅, ΡΠ°ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ β ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π²Π°ΡΠ΅ΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΈΠΈ.
1. ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· Π°Π΄ΠΌΠΈΠ½-ΠΏΠ°Π½Π΅Π»Ρ ΠΠΈΡΡΠΈΠΊΡ
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ. ΠΠ½ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅, Π³Π΄Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ ΡΠ°ΠΉΠ»: ΠΎΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠΎΠ². Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ:
- ΠΡΠΊΡΠΎΠΉΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ ΡΠ°Π·Π΄Π΅Π»: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²
ΠΠΎΠ½ΡΠ΅Π½Ρ β Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠ°ΠΉΡΠ°ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. - ΠΠΊΡΠΈΠ²ΠΈΡΡΠΉΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ: Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ»Π΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, Π·Π°ΡΠ΅ΠΌ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ ΠΏΠΎ ΠΈΠΊΠΎΠ½ΠΊΠ΅
ΠΡΡΠ°Π²ΠΈΡΡ/ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅(ΠΈΠ»ΠΈΠ€Π°ΠΉΠ»Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ²). - ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ°ΠΉΠ»: Π² ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ
ΠΠ°Π³ΡΡΠ·ΠΈΡΡ, ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ ΡΠ΅ΡΠ΅Π·ΠΠ±Π·ΠΎΡ. - Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ: ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΉΠ» ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΠΌΠ΅Π΄ΠΈΠ°ΡΠ΅ΠΊΠ΅ β Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π΅Π³ΠΎ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅
ΠΡΡΠ°Π²ΠΈΡΡ.
ΠΠ»Ρ ΠΌΠ°ΡΡΠΎΠ²ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°) ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π΄Π΅Π» ΠΠΎΠ½ΡΠ΅Π½Ρ β Π€Π°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ. ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΠΏΠΊΠΈ, Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π°ΡΡ
ΠΈΠ²Ρ (ΠΎΠ½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΠΏΠ°ΠΊΡΡΡΡΡ) ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠ°Π²Π°ΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ°.
ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΡΠ°Π²Π° Π½Π° ΠΏΠ°ΠΏΠΊΡ /upload/ β ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ 755 Π΄Π»Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ ΠΈ 644 Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ².
2. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΡΠΈΠΏΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 1Π‘-ΠΠΈΡΡΠΈΠΊΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π΄ΠΎ 50 ΠΠ (Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π² php.ini ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ upload_max_filesize ΠΈ post_max_size). ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
- ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ»
.htaccessΠ² ΠΊΠΎΡΠ½Π΅ ΡΠ°ΠΉΡΠ°. - ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΡΠΎΠΊΠΈ:
php_value upload_max_filesize 256Mphp_value post_max_size 256M
php_value max_execution_time 300
- ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ (Apache ΠΈΠ»ΠΈ Nginx).
ΠΠ»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ β ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ β ΠΠ»Π°Π²Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² (.exe, .php) ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π½ΠΎΠ²ΡΡ
ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, .webp Π΄Π»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ).
| ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ | Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ |
|---|---|---|
upload_max_filesize |
50M | 256M (Π΄Π»Ρ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»ΠΎΠ²) |
post_max_size |
64M | 512M (Π΅ΡΠ»ΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π°ΡΡ ΠΈΠ²Ρ) |
max_file_uploads |
20 | 50 (Π΄Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ) |
3. ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· FTP/SFTP
ΠΠ»Ρ ΠΊΡΡΠΏΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² (Π²ΠΈΠ΄Π΅ΠΎ, Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ) ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ FTP. ΠΠ»Π³ΠΎΡΠΈΡΠΌ:
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠ»ΠΈΠ΅Π½Ρ (FileZilla, WinSCP) Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ· Ρ ΠΎΡΡΠΈΠ½Π³Π°.
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ
/upload/(ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,/upload/videos/). - ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°.
- Π Π°Π΄ΠΌΠΈΠ½-ΠΏΠ°Π½Π΅Π»ΠΈ ΠΠΈΡΡΠΈΠΊΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΡΡ (
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ β ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ β ΠΡΠΈΡΡΠΊΠ° ΠΊΡΡΠ°).
ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄Π΅ΡΠ°Π»Ρ: ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅ΡΠ΅Π· FTP ΡΠ°ΠΉΠ»Ρ Π½Π΅ ΠΏΠΎΡΠ²ΡΡΡΡ Π² ΠΌΠ΅Π΄ΠΈΠ°ΡΠ΅ΠΊΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. Π§ΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΠ»ΠΈΡΡ Π² Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ΅ΡΠΊΠ°Π½ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ ΡΠ΅ΡΠ΅Π· ΠΠΎΠ½ΡΠ΅Π½Ρ β Π€Π°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ β ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ².
βοΈ ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ FTP-Π·Π°Π³ΡΡΠ·ΠΊΠ΅
4. ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ΅ΡΠ΅Π· API (REST ΠΈ PHP)
ΠΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ REST API. ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ° Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ:
POST /bitrix/tools/main.upload.php
Headers:
Content-Type: multipart/form-data
Authorization: Bearer YOUR_ACCESS_TOKEN
Body:
file: [binary data]
module_id: iblock
MAX_FILE_SIZE: 10485760 // 10 MB
ΠΡΠ²Π΅Ρ Π²Π΅ΡΠ½ΡΡ JSON Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°, Π²ΠΊΠ»ΡΡΠ°Ρ Π΅Π³ΠΎ ID ΠΈ ΠΏΡΡΡ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ API:
- π Π‘Π³Π΅Π½Π΅ΡΠΈΡΡΠΉΡΠ΅ ΡΠΎΠΊΠ΅Π½ Π²
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ β ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° β REST API. - π Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ
module_id(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,iblockΠ΄Π»Ρ ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠΎΠ²). - π ΠΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΠΉΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ (ΠΊΠΎΠ΄Ρ
401β Π½Π΅Π²Π΅ΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½,413β ΠΏΡΠ΅Π²ΡΡΠ΅Π½ Π»ΠΈΠΌΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°).
ΠΠ»Ρ PHP-ΠΊΠΎΠ΄Π° Π²Π½ΡΡΡΠΈ ΠΠΈΡΡΠΈΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»Π°ΡΡ CFile:
$fileId = CFile::SaveFile(
$_FILES['userfile'],
'iblock',
true // ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΡ
);
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠΊΠ΅Π½ Π΄Π»Ρ REST API?
1. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ β ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° β REST API. 2. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Β«ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β». 3. Π£ΠΊΠ°ΠΆΠΈΡΠ΅ IP-Π°Π΄ΡΠ΅ΡΠ° (ΠΈΠ»ΠΈ ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΏΡΡΡΡΠΌ Π΄Π»Ρ ΡΠ΅ΡΡΠΎΠ²). 4. Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΎΠΊΠ΅Π½ ΠΈ ΠΊΠ»ΡΡ.
5. ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅
ΠΡΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Ρ 1Π‘:Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠ³ΠΎΠ²Π»Π΅ΠΉ ΠΈΠ»ΠΈ 1Π‘:ΠΡΡ
Π³Π°Π»ΡΠ΅ΡΠΈΡ ΡΠ°ΠΉΠ»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ°ΠΉΡ-Π»ΠΈΡΡΡ Π² .xlsx ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ²Π°ΡΠΎΠ²) Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠΎΠ΄ΡΠ»Ρ ΠΠ±ΠΌΠ΅Π½ Ρ 1Π‘. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ°:
- Π 1Π‘ Π½Π°ΡΡΡΠΎΠΉΡΠ΅ Π²ΡΠ³ΡΡΠ·ΠΊΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅
CommerceML(ΡΠ°Π·Π΄Π΅Π»ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΠΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ). - Π ΠΠΈΡΡΠΈΠΊΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²
ΠΠ°Π³Π°Π·ΠΈΠ½ β ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ β ΠΠ±ΠΌΠ΅Π½ Ρ 1Π‘. - Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ ΠΎΠ±ΠΌΠ΅Π½Π° (ΠΎΠ±ΡΡΠ½ΠΎ
/upload/1c_catalog/) ΠΈ Π½Π°ΡΡΡΠΎΠΉΡΠ΅ ΠΏΡΠ°Π²Π° (777Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΠ΅ΡΡΠ°). - ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π²ΡΠ³ΡΡΠ·ΠΊΡ ΠΈΠ· 1Π‘ β ΡΠ°ΠΉΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠΏΠ°Π΄ΡΡ Π² Π½ΡΠΆΠ½ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ.
Π§Π°ΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°: ΡΠ°ΠΉΠ»Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ, Π½ΠΎ Π½Π΅ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠΎΠ². ΠΡΠΎΠ²Π΅ΡΡΡΠ΅:
- π Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅
XML_IDΠ² 1Π‘ ΠΈ ΠΠΈΡΡΠΈΠΊΡ. - π ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ mappings Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΎΠ±ΠΌΠ΅Π½Π°.
- π ΠΠΎΠ³ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° (
/bitrix/modules/1c.exchange/log/).
ΠΠ»Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ 1Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ SFTP Π²ΠΌΠ΅ΡΡΠΎ FTP β ΡΡΠΎ ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΎΠ±ΡΡΠ²ΠΎΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
6. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ SEO
Π€Π°ΠΉΠ»Ρ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ. Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ:
- πΌοΈ ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ: ΡΠΆΠΈΠΌΠ°ΠΉΡΠ΅ Π΄ΠΎ
1920pxΠΏΠΎ ΡΠΈΡΠΈΠ½Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅WebP(ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΠΈΡΡΠΈΠΊΡ 20.0). - π ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ: PDF-ΡΠ°ΠΉΠ»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΡΠ΅Π· Adobe Acrobat (ΡΠΌΠ΅Π½ΡΡΠ°ΠΉΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π²Π½ΡΡΡΠΈ).
- π΅ ΠΠ΅Π΄ΠΈΠ°: Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Ρ ΠΎΡΡΠΈΠ½Π³ΠΈ (YouTube, Vimeo) Ρ Π²ΡΡΠ°Π²ΠΊΠΎΠΉ ΡΠ΅ΡΠ΅Π· iframe.
ΠΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ:
- Β«ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉΒ» (ΡΠΆΠΈΠΌΠ°Π΅Ρ JPEG/PNG Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ).
- Β«Lazy LoadΒ» (ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ).
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΡΠ΅Π· Google PageSpeed Insights β Π΅ΡΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Largest Contentful Paint (LCP) Π½ΠΈΠΆΠ΅ 2.5 ΡΠ΅ΠΊΡΠ½Π΄, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ.
7. Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ
Π Π°Π·Π±Π΅ΡΡΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ:
| ΠΡΠΈΠ±ΠΊΠ° | ΠΡΠΈΡΠΈΠ½Π° | Π Π΅ΡΠ΅Π½ΠΈΠ΅ |
|---|---|---|
403 Forbidden ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ |
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠ°Π² Π½Π° ΠΏΠ°ΠΏΠΊΡ /upload/ |
ΠΡΡΡΠ°Π²ΠΈΡΡ chmod 755 Π΄Π»Ρ ΠΏΠ°ΠΏΠΎΠΊ ΠΈ 644 Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² |
| Π€Π°ΠΉΠ» Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΠΌΠ΅Π΄ΠΈΠ°ΡΠ΅ΠΊΠ΅ | ΠΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΠ΅ΡΠΊΠ°Π½ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ | ΠΠ°ΠΏΡΡΡΠΈΡΡ ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π€Π°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ |
504 Gateway Time-out |
ΠΡΠ΅Π²ΡΡΠ΅Π½ Π»ΠΈΠΌΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° | Π£Π²Π΅Π»ΠΈΡΠΈΡΡ max_execution_time Π² php.ini Π΄ΠΎ 300 ΡΠ΅ΠΊΡΠ½Π΄ |
ΠΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π»ΠΎΠ³ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° (/var/log/apache2/error.log ΠΈΠ»ΠΈ /var/log/nginx/error.log) ΠΈ Π»ΠΎΠ³ΠΈ ΠΠΈΡΡΠΈΠΊΡ (/bitrix/modules/main/log/).
ΠΠ»Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² .settings.php, Π΄ΠΎΠ±Π°Π²ΠΈΠ² 'exception_handling' => ['value' => ['debug' => true]].
8. ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² β ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π΄Π»Ρ Π²Π·Π»ΠΎΠΌΠ°. Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠ°ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΠΈ:
- π ΠΠ³ΡΠ°Π½ΠΈΡΡΡΠ΅ ΡΠΈΠΏΡ ΡΠ°ΠΉΠ»ΠΎΠ²: Π·Π°ΠΏΡΠ΅ΡΠΈΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΡ
.php,.js,.exeΠ² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ. - π‘οΈ ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°Π½ΡΠΈΠ²ΠΈΡΡΡ: ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠΉΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Β«ΠΠ½ΡΠΈΠ²ΠΈΡΡΡ ΠΠ°ΡΠΏΠ΅ΡΡΠΊΠΎΠ³ΠΎ Π΄Π»Ρ ΠΠΈΡΡΠΈΠΊΡΒ» ΠΈΠ»ΠΈ ClamAV.
- π ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°: ΠΏΠ°ΠΏΠΊΠ°
/upload/Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ·Π²Π½Π΅ (ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅AllowOverride AllΠ².htaccess).
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ:
- ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ
.phpβ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ. - ΠΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
shell.php). - Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Β«ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΒ» ΠΎΡ ΠΠΈΡΡΠΈΠΊΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ ΠΠΈΡΡΠΈΠΊΡ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ β Π² ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΡΡΡΡΡ Ρ Π°ΠΊΠ΅ΡΠ°ΠΌΠΈ Π΄Π»Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π²Π΅Π±-ΡΠ΅Π»Π»ΠΎΠ².
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ Π²Π°Ρ ΡΠ°ΠΉΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° shared-Ρ
ΠΎΡΡΠΈΠ½Π³Π΅, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ php.ini ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Ρ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Ρ
ΠΎΡΡΠΈΠ½Π³Π° Ρ Π·Π°ΠΏΡΠΎΡΠΎΠΌ Π½Π° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π»ΠΈΠΌΠΈΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Π½Π° VPS.
FAQ: Π§Π°ΡΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΠΈΡΡΠΈΠΊΡ
ΠΠ°ΠΊ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ» Π±ΠΎΠ»ΡΡΠ΅ 2 ΠΠ?
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ PHP Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. Π Π΅ΡΠ΅Π½ΠΈΡ:
- Π Π°Π·Π±Π΅ΠΉΡΠ΅ ΡΠ°ΠΉΠ» Π½Π° ΡΠ°ΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π· 7-Zip) ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ Π°ΡΡ ΠΈΠ²ΠΎΠΌ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ FTP/SFTP Π΄Π»Ρ ΠΏΡΡΠΌΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ.
- ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ Nginx Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ² (Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°
client_max_body_size 0;).
ΠΠΎΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅ΡΠ΅Π· FTP ΡΠ°ΠΉΠ»Ρ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅?
ΠΠΈΡΡΠΈΠΊΡ ΠΊΡΡΠΈΡΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ². Π§ΡΠΎΠ±Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ:
- ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²
ΠΠΎΠ½ΡΠ΅Π½Ρ β Π€Π°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ. - ΠΠ°ΠΆΠΌΠΈΡΠ΅
ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²(Π·Π½Π°ΡΠΎΠΊ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ). - ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ Π²ΠΈΠ΄Π½Ρ, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΡΠ°Π²Π° Π½Π° ΠΏΠ°ΠΏΠΊΡ (
chmod 755).
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ Π½Π°ΠΏΡΡΠΌΡΡ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ?
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ. ΠΠΈΡΡΠΈΠΊΡ Ρ ΡΠ°Π½ΠΈΡ ΡΠ°ΠΉΠ»Ρ Π½Π° Π΄ΠΈΡΠΊΠ΅, Π° Π² Π±Π°Π·Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ»ΠΊΠΈ (ΠΏΡΡΠΈ). ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π² ΠΠ:
- π’ ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΠΉΡΠ°.
- π Π£ΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
- π οΈ Π’ΡΠ΅Π±ΡΠ΅Ρ ΡΡΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ β Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SVG-ΠΈΠΊΠΎΠ½ΠΊΠΈ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ ΠΈΠ½ΡΠΎΠ±Π»ΠΎΠΊΠΎΠ² ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡ.
ΠΠ°ΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Google Drive?
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ REST API Google Drive + ΠΠΈΡΡΠΈΠΊΡ API:
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ Π² Google Cloud Console ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅
client_id/client_secret. - ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ OAuth 2.0 Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Drive.
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ Π½Π° PHP, ΠΊΠΎΡΠΎΡΡΠΉ:
- Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Drive ΠΏΠΎ API.
- ΠΠ°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈΡ
Π² ΠΠΈΡΡΠΈΠΊΡ ΡΠ΅ΡΠ΅Π·
CFile::SaveFile.
ΠΠΎΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ: ΠΌΠΎΠ΄ΡΠ»ΠΈ Β«ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Google DriveΒ» ΠΈΠ· ΠΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡΠ° ΠΠΈΡΡΠΈΠΊΡ.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π²ΡΠ»Π΅ΡΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° "ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ°ΠΌΡΡΠΈ"?
Π£Π²Π΅Π»ΠΈΡΡΡΠ΅ Π»ΠΈΠΌΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ PHP:
- ΠΡΠΊΡΠΎΠΉΡΠ΅
php.ini. - ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
memory_limitΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅512MΠΈΠ»ΠΈ-1(Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ). - ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ.
ΠΡΠ»ΠΈ Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ php.ini, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² .htaccess:
php_value memory_limit 512M