08.06.2017, 13:45
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Файл PHP в каждой папке свой. Программа среагирует на Ваше действие в зависимости от Вами поставленной задачи. Не хочу углубляться в работу самой программы, у меня вопрос по серверной части. Что не так в этом коде:
$dir = '1/';
$ff = scandir($dir);
$nums = array();
foreach($ff AS $f)
{
if($ff[0]!='.' && is_numeric($ff))$nums[] = (int)$f;
}
$dirname = $dir.(max($nums)+1);
mkdir($dirname);
Вроде ищет, прибавляет, создает, почему не работает?
|
|
08.06.2017, 13:52
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Вообще то достаточно glob с параметром GLOB_ONLYDIR.
Не создает, значит нет прав на запись у родительского каталога, проверьте.
А вообще, кошмар какой-то.
|
|
08.06.2017, 13:56
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Спасибо.
|
|
08.06.2017, 15:01
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Создает только одну папку, далее выдает ошибку, что папка уже есть.
|
|
08.06.2017, 15:14
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Вообще-то, по уму, сценарий должен быть один, результат только может быть различным для каждого случая, то есть задаваться параметром. Другими словами скрипт-диспетчер. Плодить папки для запроса различных скриптов, это нонсенс.
Если ошибка уже создана, то либо скрипт не то выполняет, либо это и есть проблема "костыля вашего, то есть создание папок ...", так как у вас эта задача подпадает под "многопользовательский доступ". И вряд ли это у вас учитывается, если при тесте вы ошибок из-за этого вряд ли получите, то в реальном режиме скорее всего их не избежать.
|
|
08.06.2017, 15:54
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Ошибку нашла, сейчас работает.
"Вообще-то, по уму, сценарий должен быть один, результат только может быть различным для каждого случая, то есть задаваться параметром. Другими словами скрипт-диспетчер." - именно так он реализован в программе. В папках, как раз сохраняются параметры, к файлу PHP, который в нее скопирован, своеобразный config.ini в txt формате, который задается пользователем (авторизированным), который создает эту папку, все остальные только видят результат работы, но не могут менять параметры или файл.
|
|
08.06.2017, 16:23
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Sonya
|
В папках, как раз сохраняются параметры, к файлу PHP, который в нее скопирован, своеобразный config.ini в txt формате
|
Используйте для этого базу. Ну вы же должны прекрасно понимать, что в любой момент времени на создание папки могут обратиться N пользователей, а у вас получается, что папки просто банально нумеруются, а значит любой номер может быть потенциально уже занят.
|
|
08.06.2017, 16:34
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Безусловно, БД лучше, хотя здесь, для пользователя, как раз нет фиксированной папки, если папка, например 10 занята, то создается папка 11.
|
|
08.06.2017, 16:38
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Sonya
|
например 10 занята, то создается папка 11
|
Это как? А ничего, что для каждого пользователя создает свой РНР процесс?
Впрочем дело хозяйское, поступайте как знаете.
|
|
|
|