Доброго времени суток всем !
К сути вопроса. У меня есть сайт, на котором скрипт обрабатывает входящие файлы от пользователей. Пользователь отправляет файл, как только он загружается вызывается скрипт, который ведет его обработку. В последствии в папку save сохраняются результаты, которые в дальнейшем зипуются и отправляются пользователю. Но, при такой конструкции отсутствует возможность работы сразу с двумя пользователями, т.к. если во время работы с одним пользователем, файл загрузит второй, то работа будет выполнена некорректно.
Собственно, даже не представляю, как задавать поисковый запрос по тематике:) Любая инфа приветствуется !
P.S. - Заранее всем спасибо!
Если вопрос о PHP, то он многопоточный и допускает работу одновременно любому количеству пользователей. То что ваш скрипт написан кривыми руками, это другой вопрос. Но тут никто помочь не сможет без кода этого скрипта.
Siverius, Добрый день! Да, входящий файл переименовывается на конкретное название. Файлы результатов так же унифицированы по названию. Я не сильно опытен, но может есть какой нибудь способ запараллелить эти процессы без создания тонны отдельных папок под разных пользователей...
Sam67, немного запутался - приходящие файлы сохраняются всегда под одним и тем же названием, обработанные файлы так же сохраняются под своим всегда одним и тем же названием?) Т.е. всегда существует только один входящий файл (каждый последующий его перезаписывает) и один обработанный файл?
Sam67, вам же там не руками шариться. Просто хранить надо данные о них в базе и все. А единственное что может быть плохого в таком случае - потенциально упереться в предел файловой системы, но при таких объемах люди уезжают уже в облака и перестают страдать от этого
Siverius, Да, именно так. Конечно, я понимаю, что самое просто - это "все называть своими именами" и плодить тучи папок под каждого отдельно пользователя:) У меня нет опыта в подобной работе, поэтому решил спросить мб может можно как то это обыграть:)Дико извиняюсь если вопрос тупой:D
Sam67, как вариант - создать папку, куда перемещать загруженные файлы, давать им уникальные имена (timestamp к примеру), обрабатывать и класть в папку обработанных файлов, давая нужное название, а исходный файл удалять.
Но что, если вам придёт файлик с некорректной информацией, она будет обработана и заменит уже обработанный файлик с корректной информацией?
Siverius, И такой еще вопрос. Ведь может получиться так, что одновременно пользователи загрузили файлы с одинаковыми названиями... Как быть в такой ситуации? Просто создать счетчик и присваивать названия в соответствии с номером счетчика?
Вопрос: если в папку, где идёт работа с файлами одного пользователя, залить файлы другого пользователя, то они смешаются.
Ответ: не валить файлы разных пользователей в одну и ту же папку.
При этом скрипту обработчику необходимо передавать адрес рабочей папки.
После обработки рабочая папка удаляется