Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 08.06.2017, 13:45
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 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);

Вроде ищет, прибавляет, создает, почему не работает?
Ответить с цитированием
  #12 (permalink)  
Старый 08.06.2017, 13:52
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Вообще то достаточно glob с параметром GLOB_ONLYDIR.

Не создает, значит нет прав на запись у родительского каталога, проверьте.

А вообще, кошмар какой-то.
Ответить с цитированием
  #13 (permalink)  
Старый 08.06.2017, 13:56
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Спасибо.
Ответить с цитированием
  #14 (permalink)  
Старый 08.06.2017, 15:01
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Создает только одну папку, далее выдает ошибку, что папка уже есть.
Ответить с цитированием
  #15 (permalink)  
Старый 08.06.2017, 15:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Вообще-то, по уму, сценарий должен быть один, результат только может быть различным для каждого случая, то есть задаваться параметром. Другими словами скрипт-диспетчер. Плодить папки для запроса различных скриптов, это нонсенс.

Если ошибка уже создана, то либо скрипт не то выполняет, либо это и есть проблема "костыля вашего, то есть создание папок ...", так как у вас эта задача подпадает под "многопользовательский доступ". И вряд ли это у вас учитывается, если при тесте вы ошибок из-за этого вряд ли получите, то в реальном режиме скорее всего их не избежать.
Ответить с цитированием
  #16 (permalink)  
Старый 08.06.2017, 15:54
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Ошибку нашла, сейчас работает.
"Вообще-то, по уму, сценарий должен быть один, результат только может быть различным для каждого случая, то есть задаваться параметром. Другими словами скрипт-диспетчер." - именно так он реализован в программе. В папках, как раз сохраняются параметры, к файлу PHP, который в нее скопирован, своеобразный config.ini в txt формате, который задается пользователем (авторизированным), который создает эту папку, все остальные только видят результат работы, но не могут менять параметры или файл.
Ответить с цитированием
  #17 (permalink)  
Старый 08.06.2017, 16:23
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Sonya
В папках, как раз сохраняются параметры, к файлу PHP, который в нее скопирован, своеобразный config.ini в txt формате
Используйте для этого базу. Ну вы же должны прекрасно понимать, что в любой момент времени на создание папки могут обратиться N пользователей, а у вас получается, что папки просто банально нумеруются, а значит любой номер может быть потенциально уже занят.
Ответить с цитированием
  #18 (permalink)  
Старый 08.06.2017, 16:34
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Безусловно, БД лучше, хотя здесь, для пользователя, как раз нет фиксированной папки, если папка, например 10 занята, то создается папка 11.
Ответить с цитированием
  #19 (permalink)  
Старый 08.06.2017, 16:38
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Sonya
например 10 занята, то создается папка 11
Это как? А ничего, что для каждого пользователя создает свой РНР процесс?

Впрочем дело хозяйское, поступайте как знаете.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP удаление папок по времени Sonya Работа 18 29.12.2016 22:44
Добавить класс с порядковым номером k_DizeL Общие вопросы Javascript 4 17.06.2016 22:10
Создание JS конструктора sheckler Работа 2 25.05.2015 21:24
Создание своей библиотеки. Создание двух одинаковых объектов. Как избежать? IDCh Javascript под браузер 2 31.10.2012 12:53
Создание скрипта "Итеррационные циклы" по формуле krasopetka Общие вопросы Javascript 0 17.11.2011 12:42