Загрузка файлов на разные диски / каталоги на сервере с помощью PHP - PullRequest
0 голосов
/ 31 октября 2018

У меня есть сервер с 2 дисками. Я хочу загружать файлы с помощью PHP и позволить PHP динамически выбирать каталог upload_tmp_dir на диске, куда будет загружаться файл, либо на основе дискового пространства, либо случайным образом, чтобы уменьшить количество операций ввода-вывода на диск.

Например: если одновременно происходит загрузка 5 файлов, PHP выбирает disk1 для загрузки 1 и 2 и disk2 для загрузки 3, 4, 5. Возможно ли это?

Насколько я понимаю: при загрузке файл временно сохраняется в каталоге upload_tmp_dir. А после загрузки файл можно перенести в другой каталог с помощью move_uploaded_file.

Но я хочу позволить PHP сначала проверить дисковое пространство на обоих дисках, сравнить, а затем продолжить загрузку файла на выбранный диск - или выбрать диск случайным образом. Это возможно? Я не видел подобных решений PHP .. Но я хочу свести к минимуму дисковый ввод-вывод и максимально использовать мои диски.

1 Ответ

0 голосов
/ 31 октября 2018
  1. Вы можете использовать disk_free_space для проверки доступного дискового пространства.
  2. Когда вы сравниваете на основе path из 1), вы уже знаете, на каком диске больше места
  3. Исходя из этого, вы можете использовать ini_set("upload_tmp_dir", path) для хранения файла tmp.
  4. , затем вы можете использовать move_uploaded_file для хранения файла.
...