скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта

Π‘ΠΊΡ€ΠΈΠΏΡ‚ для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, для рядового ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π΄ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ. НС для всСх это каТСтся ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ скриптик, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ запросу позволял Π±Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с сСрвСра, Π±Π΅Π· открытия Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ листинг Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° с коммСнтариями.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого скрипта довольно прост. Допустим, скрипт записан Π² php Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«download.phpΒ» ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ Π² ΠΏΠ°ΠΏΠΊΡƒ Β«filesΒ». ЀормируСтся ссылка Π½Π° этот скрипт, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ пСрСдаСтся GET ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ file ΠΈ Π² этом ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ пСрСдаСтся имя Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ тСкстового Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. НапримСр, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ test.xml ΠΈΠ»ΠΈ test.txt:

ΠŸΡ€ΠΈ этом, Ссли Ρ„Π°ΠΉΠ» Π½Π°ΠΉΠ΄Π΅Π½ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС, Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ всплываСт Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ сохранСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€.

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

Однако, Π² Ρ‚Π°ΠΊΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ скачивания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² с сСрвСра таится ΠΎΠ΄Π½Π° ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Π°Ρ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. Если я Π²Π²Π΅Π΄Ρƒ Π² адрСсной строкС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Ρ‚Π°ΠΊΠΎΠΉ запрос:

Π² Ρ‚Π°ΠΊΠΎΠΌ случаС начнСтся Ρ‚ΠΎ, Ρ‡Π΅Π³ΠΎ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС Π΄ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ нСльзя! НачнСтся скачиваниС Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π’Π°ΡˆΠ΅Π³ΠΎ сайта (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС имССтся Π²Π²ΠΈΠ΄Ρƒ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ joomla, ΠΎΠ΄Π½Π°ΠΊΠΎ это Π² Ρ€Π°Π²Π½ΠΎΠΉ стСпСни касаСтся всСх CMS). А это автоматичСски ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΡ€Π°Ρ…, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Π² Ρ€ΡƒΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ вся ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ ваТная информация связанная с Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ сайта. И вопрос Π²Π·Π»ΠΎΠΌΠ° – это ΡƒΠΆΠ΅ вопрос блиТайшСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ бСзопасности. ИмСнно для этого Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС скрипта ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ запрос ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ рСгулярным Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ допускаСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ скачивания Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

ΠŸΡ€ΠΈΡ‡Π΅ΠΌ, Ρ‚Π°ΠΊ ΠΆΠ΅ Π² этом рСгулярном Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π½Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΠΈ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ символ Β«/Β» ΠΈ Β«.Β» (ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π² ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°). Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ Ρ„Π°ΠΉΠ»Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ с Β«configuration.phpΒ», ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π’ΠΎ Π΅ΡΡ‚ΡŒ, Π΄Π°Π½Π½Ρ‹ΠΉ скрипт ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ xml Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Ρ‚ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится сам скрипт.

Однако, Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ структуру рСгулярного выраТСния Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скачиваниС Π»ΡŽΠ±Ρ‹Ρ… Β«txtΒ», Β«xmlΒ», Β«pdfΒ», Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π»ΡŽΠ±Ρ‹Ρ… графичСских Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚ΠΈΠΏΠ° Β«pngΒ», Β«gifΒ» ΠΈ прочСС… Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, Ρ‚ΡƒΡ‚ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ сами Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого скрипта. Π“Π»Π°Π²Π½ΠΎΠ΅ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС Π½Π΅ допускайтС Ρ‡Π΅Ρ€Π΅Π· этот скрипт скачиваниС систСмных Ρ„Π°ΠΉΠ»ΠΎΠ² вашСго сайта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ нСсти ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π²Π°ΠΆΠ½Ρ‹Π΅ настройки, Π»ΠΎΠ³ΠΈΠ½Ρ‹ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ. Если с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого скрипта Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ скачиваниС ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, Ρ‚ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ возмоТности ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Ρ‚ΠΈΠΏΠ° Β«administratorΒ» ΠΈΠ»ΠΈ Β«adminΒ», ΠΈΠ»ΠΈ ΠΈΠ· ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ CMS, Π² Ρ‚ΠΎΠΌ числС ΠΈΡ… Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

На этом, собствСнно, вопрос бСзопасности Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΈ дальшС ΠΈΠ΄Π΅Ρ‚ просто тСхничСская Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ ΠΊ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΡŽ, Ссли ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈ Ρ„Π°ΠΉΠ» с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ сущСствуСт.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкС скрипта Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ содСрТимоС Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈ помСщаСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

Π”Π°Π»Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ опрСдСляСтся Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ пСрСдаСтся Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ вывСсти Π΄ΠΈΠ°Π»ΠΎΠ³ сохранСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π΄ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Π΅Π³ΠΎ Π² ΠΎΠΊΠ½Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

АлтСрнативный ΠΊΠΎΠ΄

Π—Π΄Π΅ΡΡŒ прСдставлСн ΠΊΠΎΠ΄ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ скрипта, Π½ΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ дальнСйшСС скачиваниС Ρ„Π°ΠΉΠ»Π° с сСрвСра происходит Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ readfile(), Ρ‡Ρ‚ΠΎ согласно Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ php Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ памяти. На всякий случай, ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ происходит ΠΎΡ‡ΠΈΡ‰Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ob_clean().

Однако, я Π½Π΅ Ρ…ΠΎΡ‡Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ скрипт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ части ΡΡ‚Π°Ρ‚ΡŒΠΈ Ρ…ΡƒΠΆΠ΅, просто для Π½Π΅Π³ΠΎ я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΠΎΠ²Π΅Π΄Π΅Ρ‚ сСбя ΠΏΡ€ΠΈ скачивании Ρ„Π°ΠΉΠ»ΠΎΠ² большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Π’ случаС ΠΆΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°, со слов самих Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² php – Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅

Если Π’Ρ‹ Π½Π°Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ², Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ скачивании Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚.Π½. MIME-Ρ‚ΠΈΠΏΡ‹ (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь). Для этого Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ Π΅Π³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, Ρ‚ΠΎΠ³Π΄Π° скрипт Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ²:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΊΡ€ΠΈΠΏΡ‚ для скачивания Ρ„Π°ΠΉΠ»Π°

МСня ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ интСрСсовал вопрос, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ ΠΏΠΎ ссылкС Π²ΠΈΠ΄Π°: http://servicefile/files/d58y1e прСдлагаСтся ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ test.zip. По Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠΎΠ±ΠΌΠ΅Π½Π½ΠΈΠΊΠΈ. Оказалось всС достаточно просто. БСйчас я сдСлаю нСбольшоС отступлСниС.

Π’ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π° статичСских web сайтов, Ρƒ вСбмастСров Π±Ρ‹Π»ΠΈ вСсьма сильно связаны Ρ€ΡƒΠΊΠΈ, Π½Π΅ Π±Ρ‹Π»ΠΎ возмоТности для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ΄Π΅ΠΉ. Π”Π° ΠΈ сайты ΠΊΡ€ΠΎΠΌΠ΅ Π½Π°Π±ΠΎΡ€Π° тСкста ΠΈ ΠΏΠ°Ρ€Ρƒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ с Π±Π°Π½Π½Π΅Ρ€Π°ΠΌΠΈ, большС Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΈΠ· сСбя Π½Π΅ прСдставляли. Но Π²Ρ€Π΅ΠΌΠ΅Π½Π° измСнились. И сСйчас Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ Π² сСти статичСский сайт ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ постСпСнно Ρ‚Π°ΠΊ ΠΆΠ΅ слоТно, ΠΊΠ°ΠΊ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ Π² сСти сайт динамичСский. Но с появлСниСм Ρ‚Π°ΠΊΠΈΡ… языков для Π²Π΅Π± программирования ΠΊΠ°ΠΊ PHP, ASP.NET ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…, ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π² большой стСпСни словно β€œΠΎΠ±ΠΎΠ³Π°Ρ‚ΠΈΠ»ΡΡβ€. БоотвСтствСнно появилось ΠΎΡ‡Π΅Π½ΡŒ большоС количСство тСхничСских возмоТностСй ΠΏΠΎ созданию Π²Π΅Π± сайтов. РаньшС всС Π² большС ΠΌΠ΅Ρ€Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΎΡΡŒ HTML Π² связкС с JavaScript ΠΈ Ρ€Π΅Π΄ΠΊΠΎ с VBScript. Появились ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ‹, элСктронныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ„Π°ΠΉΠ»ΠΎΠΎΠ±ΠΌΠ΅Π½Π½ΠΈΠΊΠΈ, ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΠΎΡ€Ρ‚Π°Π»Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, интСрСсныС ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Π²Π΅Π± рСсурсы. НСт, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΠ½ΠΈ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅ сущСствовали, Π½ΠΎ это Π±Ρ‹Π»ΠΈ Π½Π΅ Ρ‚Π΅ ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ‹ ΠΈ ΠΏΠΎΡ€Ρ‚Π°Π»Ρ‹. И Π²ΠΎΡ‚ Ρƒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ Ρ‚Π°ΠΊΠΈΡ… рСсурсов Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π·Π°Π΄Π°Ρ‡Π°, Π° ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π°Ρ‡Π΅ ссылки Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π½Π΅ Π²Ρ‹Π΄Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ Π΅Π³ΠΎ мСстополоТСниС. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρ„Π°ΠΉΠ», ссылка Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π»Π° прСдставлСна Π²Ρ‹ΡˆΠ΅, физичСски Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° servicefile/www/files/ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ имя test.zip. Как ΠΆΠ΅ Ρ‚Π°ΠΊ? НавСрняка спроситС Π²Ρ‹, Π° всС гСниально просто. Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΡ‡Π΅Π½ΡŒ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ mod_rewrite ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² стандартный дистрибутив Apache, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π΅Ρ‰Π΅ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²Π΅Π±-сСрвСра Apache htaccess. Π’ΠΎΡ‚ это всС Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. Бсылка Π²ΠΈΠ΄Π°: http://servicefile/files/d58y1e составлСна Π² соотвСтствии с ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ mod_rewrite. Но ΠΊΠ°ΠΊ происходит Π½Π°ΠΌ Π²Ρ‹Π΄Π°Ρ‡Π° Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Ρ„Π°ΠΉΠ»Π° test.zip, Ссли ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд ссылку Π½Π΅Π²Ρ€Π°Π·ΡƒΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°. Π’ΠΎΡ‚ это ΠΌΡ‹ сСйчас ΠΈ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

ΠžΡ‚ слов ΠΊ Π΄Π΅Π»Ρƒ

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, для Ρ‚Π°ΠΊΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Но Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ, ΠΌΡ‹ ограничимся массивом. ΠŸΠΈΡΠ°Ρ‚ΡŒ скрипт Π±ΡƒΠ΄Π΅ΠΌ Π½Π° PHP. Π― Π½Π΅ Π±ΡƒΠ΄Ρƒ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° сСрвСр. Об этом ΠΈ Π±Π΅Π· ΠΌΠΎΠ΅Π³ΠΎ участия написано достаточно. А ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ лишь ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹. Для получСния Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π½Π° сСрвСр, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $_FILES, которая Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ являСтся массивом. Π’ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΠ΅ поля Ρƒ Π½Π΅Π΅ Π΅ΡΡ‚ΡŒ:

$_FILES[β€˜file’][β€˜name’]ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π°
$_FILES[β€˜file’][β€˜type’]Mime-Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°
$_FILES[β€˜file’][β€˜size’]Π Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° Π² Π±Π°ΠΉΡ‚Π°Ρ…
$_FILES[β€˜file’][β€˜tmp_name’]Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π° Π½Π° сСрвСрС.
$_FILES[β€˜file’][β€˜error’]Код ошибки

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ошибок

0UPLOAD_ERR_OKОшибки Π½Π΅Ρ‚
1UPLOAD_ERR_INI_SIZEΠ Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ допустимый Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π΄Π°Π½ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ upload_max_filesize ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° php.ini.
2UPLOAD_ERR_FORM_SIZEΠ Π°Π·ΠΌΠ΅Ρ€ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° прСвысил Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ MAX_FILE_SIZE, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² HTML-Ρ„ΠΎΡ€ΠΌΠ΅.
3UPLOAD_ERR_PARTIALΠ—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» Π±Ρ‹Π» ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ частично.
4UPLOAD_ERR_NO_FILEΠ€Π°ΠΉΠ» Π½Π΅ Π±Ρ‹Π» Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½.

Нам ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ„Π°ΠΉΠ»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ:

Π”Π°Π»Π΅Π΅ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²Π΅Π±-сСрвСра Apache htaccess. Π‘ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТаниСм:

#Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° RewriteEngine. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° прСобразования.

RewriteEngine On

#Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° RewriteBase. УстанавливаСт Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ URL для ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

RewriteBase /# Бсылка Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° RewriteRule ^files/(.*)$ load.php?hash=$1 [L]

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ссылки http://servicefile/files/d58y1e Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» test.zip.

скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. manaher download mozilla. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта Ρ„ΠΎΡ‚ΠΎ. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта-manaher download mozilla. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° manaher download mozilla. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, для рядового ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π΄ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ. НС для всСх это каТСтся ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ скриптик, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ запросу позволял Π±Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с сСрвСра, Π±Π΅Π· открытия Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ листинг Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° с коммСнтариями.

ЕдинствСнноС Ρ‡Ρ‚ΠΎ я Π±Ρ‹Π» Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‚Π°ΠΊ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Π΄Π°Ρ‚ΡŒ ссылку Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ *.exe Ρ„Π°ΠΉΠ»Π°, Ρ‚ΠΎ ΠΎΠ½ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌΡƒ (Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ Ρ„Π°ΠΉΠ»ΠΎΠ²) ΠΈ соотвСтствСнно ΠΈΠΌΠ΅Π΅Ρ‚ media-Ρ‚ΠΈΠΏ – application/octet-stream. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.html (ΠΌΠ½ΠΎΠ³ΠΈΠ΅ сСрвисы ΠΎΡ‚Π΄Π°ΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ *.exe Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ *.html). ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ всС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ, Π½Ρƒ Π»ΡƒΡ‡ΡˆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΈ Ссли ΠΎΠ½ являСтся исполняСмым Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы windows (*.exe) Ρ‚ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π² качСствС значСния media-Ρ‚ΠΈΠΏΠ° – application/zip. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ исходник. Класс cURL прилагаСтся.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

PHP class для скачки ΠΈ Π·Π°ΠΊΠ°Ρ‡ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° сСрвСр

скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. image loader. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта Ρ„ΠΎΡ‚ΠΎ. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, для рядового ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π΄ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ. НС для всСх это каТСтся ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ скриптик, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ запросу позволял Π±Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с сСрвСра, Π±Π΅Π· открытия Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ листинг Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° с коммСнтариями.

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅

Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ с сСрвСра ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° сСрвСр, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСрами. Но Π½ΠΈΠ³Π΄Π΅ Π½Π΅Ρ‚ простого Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π±ΠΎΠ»Π΅Π΅ Π»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎ.

И лишь благодаря Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΌ ΡΡ‚Π°Ρ‚ΡŒΡΠΌ, кусочкам ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с Ρ„ΠΎΡ€ΡƒΠΌΠΎΠ² ΠΈ всяким коммСнтариям ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠ°Π·Π» Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ. Π― Π½Π΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях, хотя это Π²Π°ΠΌ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ.

Если Ρƒ ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΌΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ этого вопроса ΠΈ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π·Π½Π°Π½ΠΈΠΉ Π² этом Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, Ρ‚ΠΎ я Π±ΡƒΠ΄Ρƒ Ρ€Π°Π΄, Ссли Π²Ρ‹ сдСлаСтС ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ исправлСния ΠΈΠ»ΠΈ добавлСния ΠΊ ΠΊΠΎΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»Π΅ΠΆΠΈΡ‚ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ доступС Π½Π° GitHub.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊ Π΄Π΅Π»Ρƒ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ класса CargaDes:

Для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ класс CargaDes:

1. ΠžΡ‚Π΄Π°Ρ‡Π° Ρ„Π°ΠΉΠ»Π° Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π±Π΅Π· ΠΏΠΎΠΊΠ°Π·Π° Π΅Π³ΠΎ мСста хранСния с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎΠΊΠ°Ρ‡ΠΊΠΈ ΠΈ рСгулирования скорости

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Drupal ΠΈ ΠΈΠΆΠ΅ с Π½ΠΈΠΌ:

Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π΅Ρ‰Π΅ ΠΎΡ‚Π΄Π°Ρ‡Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Apache, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° XSendFile On

Π‘Ρ€Π°Π·Ρƒ послС выполнСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ выдаст ΠΎΠΊΠ½ΠΎ для сохранСния Ρ„Π°ΠΉΠ»Π°

2. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»Π°/ΠΎΠ² Π½Π° сСрвСр Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ с ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ прогрСсса

ПослС выполнСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° появится ΠΊΠ½ΠΎΠΏΠΊΠ° для Π²Ρ‹Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. image loader. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта Ρ„ΠΎΡ‚ΠΎ. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, для рядового ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π΄ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ. НС для всСх это каТСтся ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ скриптик, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ запросу позволял Π±Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с сСрвСра, Π±Π΅Π· открытия Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ листинг Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° с коммСнтариями.

3. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² с ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ сСрвСра Π½Π° свой сСрвСр

4. ΠžΡ‚Π΄Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр со своСго сСрвСра

По ΠΈΡ‚ΠΎΠ³Ρƒ Ρ…ΠΎΡ‡Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ

Если этот класс ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ я Π±ΡƒΠ΄Ρƒ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π΄ этому. Как я ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» Π² Π½Π°Ρ‡Π°Π»Π΅ Π±ΡƒΠ΄Ρƒ Ρ€Π°Π΄ конструктивной ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ΅ ΠΈ дополнСниям ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ класса. Бсылка Π½Π° CargaDes.class.

ИзмСнил Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ способы использования класса. И Π΄ΠΎΠ±Π°Π²ΠΈΠ» описаниС Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ измСнилось Π² классС.

Π’ΠΎΡ‚ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ» Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ ошибками, Ссли это ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ Π½Π°Π·Π²Π°Ρ‚ΡŒ.

Π§Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π½Π΅ сдСлано:

Π’ Ρ†Π΅Π»ΠΎΠΌ я постарался ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, Ρ‚ΠΎ ΠΎ Ρ‡Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ Π² коммСнтариях, Ссли Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ Π΅Ρ‰Π΅ ΠΊΠ°ΠΊΠΈΠ΅ Π»ΠΈΠ±ΠΎ Π½Π΅Π΄ΠΎΡ‡Π΅Ρ‚Ρ‹ ΠΈΠ»ΠΈ ошибки β€” ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€ΡŽ Π·Π° ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒ webdevium ΠΈ alutskevich, Ссли Π±Ρ‹ ΠΌΠΎΠ³, Ρ‚ΠΎ ΠΏΠ»ΡŽΡΠ°Π½ΡƒΠ» Π±Ρ‹ Π²Π°ΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

Π’Π°ΠΊ ΠΆΠ΅ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΡŽ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚.ΠΊ. Ρƒ мСня появилось ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΅ΠΉ Π³Π»Π°Π²Π½ΠΎΠΉ ошибки ΠΈ Ρ€ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΠ°Ρ€Ρƒ ΠΈΠ΄Π΅ΠΉ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² php

скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. file load.c5e21dc5ff02125d0f71087158584b82. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта Ρ„ΠΎΡ‚ΠΎ. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта-file load.c5e21dc5ff02125d0f71087158584b82. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° file load.c5e21dc5ff02125d0f71087158584b82. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, для рядового ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π΄ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ. НС для всСх это каТСтся ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ скриптик, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ запросу позволял Π±Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с сСрвСра, Π±Π΅Π· открытия Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ листинг Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° с коммСнтариями.

НиТС Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ скрипт для скачиваниС Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° php, Π½ΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΎΠ΄Π½Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΈ ΠΊΠ°ΠΊ скрипт Π΅Ρ‘ устраняСт.

Если этот скрипт покаТСтся Π²Π°ΠΌ слоТным, ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π½Π° простом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ рСализуСтся скрипт cкачивания ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° php.

МногиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΎΠ΄Π½ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ скачивания mp3-Ρ„Π°ΠΉΠ»ΠΎΠ². Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΎΡ‡Π΅Π½ΡŒ просто: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ лишь Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипт Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ вСсти подсчСт числу скачиваний.

ПослС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ выясняСтся, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ. Однако вскорС Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Internet Explorer Π½Π΅ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚, ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ просто ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ, Π° запускаСт ΠΌΠ΅Π΄ΠΈΠ°-ΠΏΠ»Π΅Π΅Ρ€.

Π’Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° встрСчаСтся с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ². ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π½Π΅ всСгда Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ pdf, doc ΠΈΠ»ΠΈ gif способствовали ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ сущСствуСт PHP-скрипт, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ².

PHP скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ²:

Π­Ρ‚ΠΎΡ‚ скрипт Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ смогут Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ. Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» dl_save.php, Π° Π·Π°Ρ‚Π΅ΠΌ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. Бсылка, которая Π²Π΅Π΄Π΅Ρ‚ Π½Π° скачиваниС Ρ„Π°ΠΉΠ»Π°, выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Бсылку Π½Π° скачивания Ρ„Π°ΠΉΠ»Π° ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ) Ρ‚Π°ΠΊ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с URL, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ PHP

БущСствуСт мноТСство ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° с URL-адрСса, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π½ΠΈΠΆΠ΅:

Бпособ 1: использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ file_get_contents () : функция file_get_contents () ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для чтСния Ρ„Π°ΠΉΠ»Π° Π² строку. Π­Ρ‚Π° функция ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ отобраТСния памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ сСрвСром, ΠΈ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, дСлая Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ способом чтСния содСрТимого Ρ„Π°ΠΉΠ»Π°.

Бинтаксис:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° 1:

// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ URL Ρ„Π°ΠΉΠ»Π° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ

// Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ basename () для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°

// Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ file_get_contents () для получСния Ρ„Π°ΠΉΠ»Π°
// ΠΈΠ· url ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ file_put_contents () для
// ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ имя

echo «File downloaded successfully» ;

echo «File downloading failed.» ;

Π’Ρ‹Ρ…ΠΎΠ΄:
ΠŸΠ΅Ρ€Π΅Π΄ запуском ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:
скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. singcyrridesneta118410. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта Ρ„ΠΎΡ‚ΠΎ. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта-singcyrridesneta118410. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° singcyrridesneta118410. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, для рядового ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π΄ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ. НС для всСх это каТСтся ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ скриптик, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ запросу позволял Π±Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с сСрвСра, Π±Π΅Π· открытия Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ листинг Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° с коммСнтариями.
ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:
скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. theilibergduccohilf465828. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта Ρ„ΠΎΡ‚ΠΎ. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта-theilibergduccohilf465828. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° theilibergduccohilf465828. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, для рядового ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π΄ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ. НС для всСх это каТСтся ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ скриптик, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ запросу позволял Π±Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с сСрвСра, Π±Π΅Π· открытия Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ листинг Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° с коммСнтариями.
скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. gradersedimeenti163697. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта Ρ„ΠΎΡ‚ΠΎ. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта-gradersedimeenti163697. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° gradersedimeenti163697. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, для рядового ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π΄ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ. НС для всСх это каТСтся ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ скриптик, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ запросу позволял Π±Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с сСрвСра, Π±Π΅Π· открытия Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ листинг Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° с коммСнтариями.

ΠœΠ΅Ρ‚ΠΎΠ΄ 2: ИспользованиС PHP Curl: cURL Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Β«ΠšΠ»ΠΈΠ΅Π½Ρ‚ для URLΒ», ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ с URL, прописанным Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ с URL. Π­Ρ‚ΠΎ произносится ΠΊΠ°ΠΊ «см. URLΒ». Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ cURL Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° libcurl ΠΈ curl.

Π¨Π°Π³ΠΈ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»Π°:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ URL Ρ„Π°ΠΉΠ»Π° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ

// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ сСссию cURL

// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π³Π΄Π΅
// Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ сохранСн

// Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ basename () для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°
// Π±Π°Π·ΠΎΠ²ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π°

// Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΡƒ

// Он устанавливаСт ΠΎΠΏΡ†ΠΈΡŽ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ cURL

// Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сСанс cURL

// Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ сСанс cURL ΠΈ освобоТдаСт всС рСсурсы

Π’Ρ‹Ρ…ΠΎΠ΄:
ΠŸΠ΅Ρ€Π΅Π΄ запуском ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:
скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. unhalpanchdislatimb638199. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта Ρ„ΠΎΡ‚ΠΎ. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта-unhalpanchdislatimb638199. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° unhalpanchdislatimb638199. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, для рядового ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π΄ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ. НС для всСх это каТСтся ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ скриптик, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ запросу позволял Π±Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с сСрвСра, Π±Π΅Π· открытия Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ листинг Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° с коммСнтариями.
ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:
скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. . скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта Ρ„ΠΎΡ‚ΠΎ. скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° скрипт для скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² с сайта. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° . Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, для рядового ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π΄ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΈ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ. НС для всСх это каТСтся ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ скриптик, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ запросу позволял Π±Ρ‹ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» с сСрвСра, Π±Π΅Π· открытия Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ листинг Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° с коммСнтариями.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *