Логіка завантаження файлів на сервер: PHP, JavaScript і AJAX

Логіка завантаження на сервер

Хостинг хостингу ворожнечу, але використовувати російські букви і деякі символи в іменах файлів – загрожує небезпекою. Він може «записати» файл, але потім «не зможе його прочитати або видалити. Щоб уникнути невизначеностей, краще відразу перейменувати файл і зберегти під таким ім’ям, до якого адекватно поставиться будь хостинг.

У такому контексті завантаження файлів на сервер: PHP + MySQL. За допомогою мови виконується завантаження файлу. За допомогою бази даних встановлюється асоціація між реальним ім’ям файлу і унікальним, яке формується автоматично. Найпростіше рішення, як отримати по реальному імені файлу його MD5 код – це унікальна послідовність з 32 байт. Виконуючи завантаження файлів на сервер, PHP «включається» на сервері через AJAX.

Тут функція scfCheckFile() кодує реальне ім’я файлу, формує з нього унікальний MD5 код і запускає механізм передачі даних через AJAX. У цей момент сервер не робить завантаження файлу, а тільки перевіряє його наявність за унікальним кодом. Якщо такого файлу не виявлено, формується нове ім’я файлу, а в рядок таблиці міститься запис про початок завантаження.

Функція scfGetFile() підтверджує факт завантаження файлу, і забезпечує оновлення запису про нього.

У результаті: файл завантажений, запис у таблиці сформована. Завантаження файлів на сервер PHP & AJAX за допомогою JavaScript – хороше і надійне рішення.