Ошибка при создании директории rab null autosave

ОС: Windows XP Sp2

WinRik Версия 1.0

Суть проблемы: после глобального сбоя системы, пришлось ее переустанавливать. Ну и соответственно установил с заново РиК. Установка прошла без проблем. Однако, при запуске WinRik выводит следующее собщение «Could not find object» и кнопка «ОК», далее «Невозможно создать папку Rabnullautosave».

Сразу пришла мысль, что с атрибутами папки что-то не то. Так и оказалось, в свойствах стояло «Только чтение», попытка сменить атрибут привели к нулевым результатам. Атрибут так же и остался.

С помощью интернет, на форумах прочитал про эту фичу WinXP, и что это по «идее» нормально и на всех папках по умолчанию такой атрибут и большинство програм, как правило, на нее не реагируют. Предполагаю, что РиК исключение из правил?

Хотя не могу понять другого, как же РиК работал до этого?

Решения по изменению атрибутов папки я так и не нашел в инете. Помогите пожалуйста. В пятницу надо смету сдавать.

Недавно мне потребовалось сделать перенос WordPress сайта с одного домена на другой. Копия сайта нужна была для последующей её переработки на новом домене. Перенос сайта с домена на домен дело не пыльное, задача решена, можно приступать к работе. Обычно так всегда и было, но не в этот раз…

А в этот раз у меня возникли трудности с загрузкой изображений в библиотеку медиафайлов через админку WordPress – появилось следующее уведомление об ошибке:

Файл «****.jpg» загрузить не удалось. Не могу создать директорию wp-content/uploads/2021/06. Проверьте, доступна ли родительская директория для записи.

За более чем пятилетнюю практику работы с WordPress, подобного рода ошибка мне встретилась впервые. Но, как говорится, в любой незнакомой ситуации «Google в помощь». Проанализировав поисковую выдачу я выделил две возможные причины возникновения данной ошибки:

  1. Отсутствие необходимых прав доступа CHMOD (иногда их еще называют атрибутами) к папке wp-content (CHMOD должно быть равным 700, 755 или 777).
  2. В настройках сайта прописан не правильный абсолютный путь к файлам Вордпресс, который можно изменить через параметр upload_path на странице глобальных настроек WordPress.

Первым делом я проверил какое значение установлено в правах доступа к папке wp-content и вложенным в нее папкам и файлам. Оказалось, что там все хорошо и установлено значение 700 — разрешены запись, чтение и выполнение файлов внутри папки. Впрочем, чаще всего с правами доступа всегда все в порядке, в редких случаях могут быть выставлены какие-то ограничения.

Как изменить права доступа к папке wp-content?

Для не очень опытных пользователей поясню, что проверить права доступа к папке wp-content, и в случае необходимости изменить их, можно через файловый менеджер вашего хостинга. Открыв корневую папку своего WordPress сайта вы увидите среди прочих папку wp-content. Кликните по ней правой кнопкой мыши и посредством выпавшего контекстного меню перейдите в раздел свойств вашей папки.

Здесь стоит заметить, что в зависимости от того хостинга, на котором работает ваш сайт, раздел с правами доступа к папке может называться по разному. Так, на моем хостинге Beget, этот раздел называется Изменить атрибуты, а сами настройки атрибутов выглядят вот так:

Права доступа (атрибуты) для директории wp-content на примере хостинга Beget
Права доступа (атрибуты) для директории wp-content на примере хостинга Beget

Убедившись, что ошибка не связана с правами доступа, приступаем к проверке параметра upload_path глобальных настроек WordPress. Для того, чтобы попасть на страницу глобальных настроек вашего вордпресс сайта нужно авторизоваться под учетной записью администратора сайта, а затем в адресной строке браузера прописать следующий адрес:

https://ваш-сайт.ru/wp-admin/options.php

На открывшейся странице содержится внушительная масса различных параметров и полей, поэтому, чтобы долго не искать нужный нам параметр upload_path, воспользуйтесь поиском встроенным в браузер (сочетание клавиш CTRL + F).

В моем случае в поле этого параметра был прописан абсолютный путь к файлам вордпресс, который принадлежал другому хостингу. Как вы можете помнить, я сделал перенос сайта на другой домен и хостинг.

Далее, для устранения ошибки действуем следующим образом:

  1. Очищаем поле параметра upload_path и сохраняем настройки. После этого необходимо проверить, заработала ли загрузка изображений в библиотеку медиафайлов или нет. Если не заработала, значит переходим к пункту 2. Обратите внимание: если у вас поле upload_path было изначально пустое и загрузка файлов в библиотеку медиафайлов вашего WordPress сайта все равно не работала, значит вам тоже следует проделать действия, описанные в пункте 2.
  2. Если действия из пункта 1 вам не помогли, то прописываем в поле параметра upload_path правильный абсолютный путь к файлам Вордпресс (о том, как узнать абсолютный путь к папке с uploads написано ниже).

Как узнать абсолютный путь к папке с uploads

Уточнить абсолютный путь можно в поддержке вашего хостинга, а можно узнать самостоятельно, создав php файл со специальным кодом:

<?php
echo 'Путь к корневой папке: '.$_SERVER['DOCUMENT_ROOT'].'';
?>

Сохраните файл с любым названием, например patch.php и загрузите в корневую папку сайта. Для того, чтобы выполнить сценарий данного кода, нам необходимо открыть наш файл, сделать это можно набрав в строке браузера следующий адрес:

https://ваш-сайт.ru/patch.php

Результатом выполнения скрипта будет веб-страница со следующим содержимым:

Путь к корневой папке: /home/XXXXX/YYYYY

Добавим к получившемуся результату /wp-content/uploads и получим в итоге такой путь:

Путь к корневой папке: /home/XXXXX/YYYYY/wp-content/uploads

Это и есть нужный нам абсолютный путь к папке uploads. Вставляем его в поле параметра upload_path сохраняем настройки и снова пробуем загрузить изображение. Теперь должно все заработать.

Вот таким не хитрым способом можно решить ошибку Не могу создать директорию wp-content/uploads/», которая могла возникнуть на вашем WordPress сайте при работе с Библиотекой медиафайлов.


Зависла программа

av_00 Дата: Пятница, 02.09.2011, 14:17 | Сообщение # 16

Генералиссимус

Группа: Проверенные

Репутация:

387

Статус: Offline

Quote (Foxy)

ничего не сказано — какой интервал мне установить: 1 или 0? и нужно ли указывать путь для резервных копий?

Параметры автоматического сохранения архива строек можно установить в главном окне программы командой меню «Администратор->Автоматическое резервное копирование архива строек…».
В появляющемся окне «Автоматическое резервное копирование архива строек» нужно поставить верхнюю галочку «Автоматическое резервное копирование архива строек», выбрать интервал копирования в днях, и довольно странно, что необходимую для Вашей работы частоту создания резервных копий Вы запрашиваете на форуме. Если хотите делать резервную копию один раз в день – ставьте 1, один раз в неделю – ставьте 7, один раз в месяц – ставьте 30, каждый раз при выходе из программы – ставьте 0. Выбирать Вам, а не пользователям форума.
Путь для резервных копий тоже необходимо установить – создайте для этих целей папку на жестком диске и укажите путь к ней.
Максимальное количество резервных копий означает, что если в папке с резервными копиями уже сохранено количество, равное максимальному, то новая копия будет туда сохранена взамен самой старой папки.

Добавлено (02.09.2011, 14:17)
———————————————

Quote (СМЕТАНКА53)

Произошел очередной сбой»! Программа выдает ошибку. :Её адрес: С/RIK/SM_R/RAB/Null/sum_plan.dbf

Попробуйте вот так:

Выйдете из РИК’а.
Очистите папку /RIK/SM_R/RAB/Null/.

Проделайте следующие операции (я об этом где-то на форуме говорил, искать лень, поэтому повторюсь):

1. Отключите для папки RIK и всех вложенных индексацию (как системой, так сторонними поисковиками, если они установлены в системе)

2. Снимите атрибуты «Только чтение» с каталога UTILSWinRIK и со всех нижележащих файлов и каталогов.

3. Снимите атрибут «Только для чтения» с папки …RIKSM_RRAB и всех вложенных (лучше FAR’ом)

4. Добавьте РИК в исключения для антивирусника:
Для справки: Как настроить параметры закладки Доверенные программы в составе Kaspersky Internet Security 2011?

а) не в <Доверенные папки>, а в <Доверенные приложения> — это другая вкладка в исключениях у каспера.
Там нажимаете «Добавить», показываете касперу файл winrik.exe, ставите галочки:
• Не проверять открываемые файлы
• Не контролировать активность программы
• Не контролировать активность дочерних программ

б) В настройках файлового антивируса укажите типы проверяемых файлов — Файлы, проверяемые по расширению.
Добавьте исключение для файлов по маске *.dbf, *.mdx чтобы они не проверялись файловым антивирусом.
в) там же уберите галочку напротив строки — «Проверять архивы».

проверьте настройки ВДЕ вот по этому образцу (рекомендации разработчиков РИК):
———————————————————————-
1. Необходимо зайти в «Мой компьютер «->»Панель управления «->»BDE Administrator».
2. В появившемся окне перейти на закладку Configuration.
3. Далее в дереве выбираем Configuration->System->INIT.

AUTO ODBC = FALSE
DATA REPOSITORY =
DEFAULTDRIVER = PARADOX
LANGDRIVER = ‘ascii’ ANSI
LOCAL SHARE = FALSE
LOW MEMORY USAGE = 32
MAXBUFSIZE = 2048
MAXFILEHANDLES = 150
MEMSIZE = 16
MINBUFSIZE = 128
MTS POOLING = FALSE
SHAREDMEMLOCATION =
SHAREDMEMSIZE = 2048
SQLQRYMODE =
SYSFLAGS = 0

BDE иногда не понимает длинные пути. От чего это зависит пока неясно. Лекарство:
1. Панель управления — Система — Дополнительно — Переменные среды.
2. TEMP = C:TEMP
3. TMP = C:TEMP
4. Создать на диске каталог C:TEMP.
5. Перегрузить компьютер.

У меня раньше выскакивали такие глюки, но после выполнения перечисленного набора я от этого избавился. Надеюсь – навсегда.

 
Galina53 Дата: Пятница, 02.09.2011, 14:34 | Сообщение # 17

Генералиссимус

Кемерово

Группа: Проверенные

Город: Кемерово

Репутация:

207

Статус: Offline

av_00, спасибо! Жаль что я уже не на работе. Скажите, а испорченный файл можно вылечить вышеуказанными Вами действиями. (Я его на флешку записала, чтобы дома поэкспериментировать). Или это всё для того, чтобы избавиться от глюков в дальнейшем?

 
av_00 Дата: Пятница, 02.09.2011, 15:01 | Сообщение # 18

Генералиссимус

Группа: Проверенные

Репутация:

387

Статус: Offline

Quote (СМЕТАНКА53)

а испорченный файл

Какой именно? sum_plan.dbf из папки С/RIK/SM_R/RAB/Null/? Это фай — копия основного, лежит во временной папке NULL, в нем хранятся наименования групп затрат, принятых пользователям, после закрытия РИК эта папка очищается.
Поэтому, плюньте на него и следуйте полученным инструкциям.
Они не лечат файлов, но предотвращают ситуации, похожие на Вашу.

Ведь что произошло у Вас?
Судя по сообщению «Ошибка при чтении файла: C:VRIKSM_RRA8NULLsum_plan.dbf», РИК не может обратится к файлу, что-то мешает (другой процесс захватил управление над файлом). По наблюдениям это могут быть программы, индексирующие содержимое жестких дисков (встроеная виндовская или сторонняя, установленная пользователем), или антавирус со своим мониторингом запускаемых файлов.
В инструкции об этом смотрите пункты 1 и 4.

Сообщение отредактировал av_00Пятница, 02.09.2011, 15:12

 
Galina53 Дата: Пятница, 02.09.2011, 15:35 | Сообщение # 19

Генералиссимус

Кемерово

Группа: Проверенные

Город: Кемерово

Репутация:

207

Статус: Offline

Скорее всего, ничего у меня не получится. Только начала читать Ваши советы, av_00, как тут же появились вопросы:

Quote (av_00)

Очистите папку /RIK/SM_R/RAB/Null/.

Ну не могу я просто взять, и очистить эту папку, sad не понимая, для чего это нужно и к чему это может привести. Это могут делать только те, кто хоть мало-мальски соображает в этом. А если просто тупо удалять (как в моём случае), так можно такого наворотить….
Что это за папка Null? Что в ней хранится?
Можете не отвечать…., так как на каждый ответ последует следующий вопрос smile .

Добавлено (02.09.2011, 15:20)
———————————————
Ну вот, пока старалась писала, Вы уже что-то ответили. Пошла читатать.

Добавлено (02.09.2011, 15:22)
———————————————
И теперь поняла хотя бы то, что папка Null — это временная папка, значит очищать её можно смело.

Добавлено (02.09.2011, 15:35)
———————————————
av_00,

Quote (av_00)

проверьте настройки ВДЕ вот по этому образцу (рекомендации разработчиков РИК):
———————————————————————-
1. Необходимо зайти в «Мой компьютер «….

Да, помню, Вы об это уже говорили. Извините, что заставила повториться. Но я эти настройки кажется проверяла. Проверю еще раз (если доживу до понедельника, так как настроение окончально испорчено. Ведь смету, в которой произошел сбой, надо набирать заново).

Сообщение отредактировал СМЕТАНКА53Пятница, 02.09.2011, 15:38

 
av_00 Дата: Пятница, 02.09.2011, 16:16 | Сообщение # 20

Генералиссимус

Группа: Проверенные

Репутация:

387

Статус: Offline

Quote (СМЕТАНКА53)

Ну не могу я просто взять, и очистить эту папку,

Если сбой произошел в процессе работы и сеанс работы в РИК завершился аварийно, очищать папку NULL не нужно ни в коем случае. В ней есть данные для автовосстановления сметы при следующем запуске РИК (,,,RIKSM_RRABNULLAUTOSAVE).
В эту папку сохраняются результаты вашей работы над сметой с периодичностью, установленной командой меню из окна локальной сметы «Параметры->Автосохранение…» и именно из этой папки будет восстановлена смета по данным на момент её сохранения, указанным в настройках

Следовательно, не очищая папки NULL проделайте действия из инструкции и запускайте РИК.

Сообщение отредактировал av_00Пятница, 02.09.2011, 16:23

 
Galina53 Дата: Пятница, 02.09.2011, 16:28 | Сообщение # 21

Генералиссимус

Кемерово

Группа: Проверенные

Город: Кемерово

Репутация:

207

Статус: Offline

Quote (av_00)

Если сбой произошел в процессе работы и сеанс работы в РИК завершился аварийно

Так конечно же аварийно! Именно так у меня обычно и происходит. Так и на сей раз произошло.

 
av_00 Дата: Пятница, 02.09.2011, 16:32 | Сообщение # 22

Генералиссимус

Группа: Проверенные

Репутация:

387

Статус: Offline

Quote (СМЕТАНКА53)

Так конечно же аварийно!

Тогда содержимое папки NULL, на всякий случай, лучше куда-нибудь скопировать

 
Galina53 Дата: Пятница, 02.09.2011, 16:36 | Сообщение # 23

Генералиссимус

Кемерово

Группа: Проверенные

Город: Кемерово

Репутация:

207

Статус: Offline

Quote (СМЕТАНКА53)

«Параметры->Автосохранение…» и именно из этой папки будет восстановлена смета по данным на момент её сохранения, указанным в настройках

В Вашем примере стоит 1 минута, у меня — 5 минут.
Я была бы очень рада, если бы итог 5-ти минутной давности сохранился, но этого — не произошло.

Добавлено (02.09.2011, 16:36)
———————————————

Quote (av_00)

Тогда содержимое папки NULL, на всякий случай, лучше куда-нибудь скопировать

«Куда-нибудь» — это куда? Хоть прямо на рабочий стол можно? А после того, как скопирую, то папку NULL нужно (можно) всё-таки очистить?

Сообщение отредактировал СМЕТАНКА53Пятница, 02.09.2011, 16:43

 
Nerus Дата: Пятница, 02.09.2011, 16:49 | Сообщение # 24

Генералиссимус

Кемерово

Группа: Проверенные

Город: Кемерово

Репутация:

65

Статус: Offline

У меня в первую очередь два способа: перезагрузка через reset или же выключить комп через секунд 10-15 включить обратно. Часто этого достаточно бывает. На тяжелый случай создается образ диска с помощью Acronis True Image


Настоящая репутация — это то, что шепчут о Вас у Вас за спиной. / Эдгар Хоу

 
av_00 Дата: Пятница, 02.09.2011, 16:58 | Сообщение # 25

Генералиссимус

Группа: Проверенные

Репутация:

387

Статус: Offline

Quote (СМЕТАНКА53)

«Куда-нибудь» — это куда? Хоть прямо на рабочий стол можно? А после того, как скопирую, то папку NULL нужно (можно) всё-таки очистить?

Сохраняйте в любую, созданную для этих целей папку на жестком диске.
При аварийном завершении лучше папку NULL не трогать, а попробовать запустить РИК с этими сохраненными данными.
В тяжелом случае можно отправить копию папки разработчикам с просьбой восстановить смету

Добавлено (02.09.2011, 16:58)
———————————————

Quote (Nerus)

У меня в первую очередь два способа: перезагрузка через reset или же выключить комп через секунд 10-15 включить обратно.

Способ № 3:
Ctrl+Alt+Del, вкладка «Процессы», выделяем WINRIK.EXE. жмём «Завершить процесс»

Сообщение отредактировал av_00Пятница, 02.09.2011, 17:00

 
Galina53 Дата: Пятница, 02.09.2011, 17:08 | Сообщение # 26

Генералиссимус

Кемерово

Группа: Проверенные

Город: Кемерово

Репутация:

207

Статус: Offline

Quote (Nerus)

перезагрузка через reset

Не помогло.

Quote (Nerus)

или же выключить комп через секунд 10-15 включить обратно

Не пыталась так сделать, sad а может и зря…

Добавлено (02.09.2011, 17:08)
———————————————

Quote (av_00)

В тяжелом случае можно отправить копию папки разработчикам с просьбой восстановить смету

Это уже вообще за гранью моего понимания. Неужели кто-то из разработчиков будет с этим возиться?

А вот это:

Quote (av_00)

Способ № 3:
Ctrl+Alt+Del, вкладка «Процессы», выделяем WINRIK.EXE. жмём «Завершить процесс»

говорит мне о том, что я сама всё и порчу. shy
Ctrl+Alt+Del нажимаю (при зависании), но…. WINRIK.EXE не выделяю. Скорее всего в этом собака и зарыта.

 
Nerus Дата: Пятница, 02.09.2011, 17:19 | Сообщение # 27

Генералиссимус

Кемерово

Группа: Проверенные

Город: Кемерово

Репутация:

65

Статус: Offline

Quote (СМЕТАНКА53)

Ctrl+Alt+Del нажимаю (при зависании), но…. WINRIK.EXE не выделяю

Игра тремя пальцами позволит завершить работу Winrik, но не исправит порченую папку. Обычно после принудительной перезагрузки компа резетом, система автоматически проверяет и исправляет ошибки во время загрузки. У вас этого не происходит почему-то. Если загрузиться в безопасном режиме и выполнить восстановление раннее сохраненных копий диска, может это поможет. Если опция восстановления включена на диск С.


Настоящая репутация — это то, что шепчут о Вас у Вас за спиной. / Эдгар Хоу

Сообщение отредактировал NerusПятница, 02.09.2011, 17:19

 
Galina53 Дата: Пятница, 02.09.2011, 17:37 | Сообщение # 28

Генералиссимус

Кемерово

Группа: Проверенные

Город: Кемерово

Репутация:

207

Статус: Offline

Quote (Nerus)

Если загрузиться в безопасном режиме и выполнить восстановление раннее сохраненных копий диска, может это поможет

Разве можно восстановиться с точностью до минуты, ну или часа? Ведь система обычно предлагает восстановление на какую-то дату. (Или я опять чего-то не поняла).

 
Nerus Дата: Пятница, 02.09.2011, 17:58 | Сообщение # 29

Генералиссимус

Кемерово

Группа: Проверенные

Город: Кемерово

Репутация:

65

Статус: Offline

СМЕТАНКА53, Видно, я не понял вашу проблему сразу. Вам нужно восстановить только свеженабранную смету, чтобы повторно не забивать? В таком случае я знаю не больше вашего smile


Настоящая репутация — это то, что шепчут о Вас у Вас за спиной. / Эдгар Хоу

 
Galina53 Дата: Пятница, 02.09.2011, 18:03 | Сообщение # 30

Генералиссимус

Кемерово

Группа: Проверенные

Город: Кемерово

Репутация:

207

Статус: Offline

Quote (Nerus)

нужно восстановить только свеженабранную смету, чтобы повторно не забивать?

Да, именно так!
Все равно спасибо а советы! Для других случаев пригодятся.

 
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »

Согласно п. 4.5 Правил Сметного портала запрещено размещение материалов попадающих под действие Статьи 1259 и Статьи 1270 ГК РФ, на которые распространяются авторские права правообладателя, без согласования с ним. В случае обнаружения материалов нарушающих права правообладателя просим сообщить через форму обратной связи.
Семушин А.А.

Невозможно создать директорию в WordPress, что делать? Это очень просто исправить. Прочитайте ниже и повторите мои действия.

Невозможно создать директорию

Невозможно создать директорию, исправляем такую проблему в ВордПресс.

Иногда, после создания нового блога на WordPress при загрузке изображения, выходит сообщение, примерно, такого содержания:
«Не могу создать директорию /home/1234567/public_html/wp-content/uploads/2011/04. Проверьте, доступна ли родительская директория для записи.»

Невозможно создать директорию WordPress
Исправить ошибку «Невозможно создать директорию в WordPress»

Из этой статьи Вы узнаете, что Вам сделать, когда невозможно создать директорию в ВордПресс.

Как исправить ошибку «Не могу создать директорию»? Ниже Вы найдете два простых способа, как исправить такую ситуацию, когда WordPress показывает такое сообщение.

«Не могу создать директорию /????/??????/public_html/wp-content/uploads/??????. Проверьте, доступна ли родительская директория для записи.»

Для решения этой проблемы, когда невозможно создать директорию, нужно:

Важно: Не забыть вернуть параметры прав доступа в первоначальное значение, после того, как исправили проблему с ошибкой «Невозможно создать директорию».

Вам необходимо сменить атрибуты на права доступа к папкам WordPress и файлам.

Все популярные FTP клиенты имеют опцию смены прав доступа к файлам и папкам. Эту опцию можно найти в меню, нажав правой кнопкой мыши на файл или папку. Используйте справку Вашего FTP клиента для более детальной информации.

Например:

В случае с FTP клиентом FileZilla, подключаем свой сайт, открываем папку public_html и нажимаем правой кнопкой мыши на папку wp-content или в ней uploads, нажимаем правой кнопкой мыши в окне FileZilla на папку uploads и в открывшемся контекстном меню выбираем строку «права доступа к файлу», где прописываем числовое значение 711 или 755. Если нужно сделать тоже и для папки wp-content. Эти параметры позволяют владельцу сайта, а значит и папок, их редактировать, читать и запускать на исполнение.

Аналогичные действия можно произвести и без установки на компьютер программ FTP — клиентов. Войдите в Вашу панель управления на хостинге и откройте интегрированный в панель управления хостинга файловый менеджер. В этом файловом менеджере откройте директорию с Вашим сайтом, откройте директорию public_html (обычно в ней установлен WordPress) нужную папку или файл и измените права доступа.

После того, как Вы создали директорию, верните прежние значения прав доступа для большей безопасности Вашего сайта.

Самое важное о чем я хочу Вас предупредить, это не выставлять параметры 777, такие атрибуты, позволяют вносить изменения не только владельцам сайта, но и любым пользователям. Мы с Вами думаем о безопасности сайта на WordPress и не выставляем такие параметры.

Как я уже писал в самом начале ошибка о невозможности создать директорию в WordPress обычно появляется на новых сайтах. Если пользователи позже сами не меняли права доступа к папкам и файлам. И если у Вас новый сайт на WordPress, а Вы начинающий вебмастер, Вам могут быть интересны плагины WordPress, которые желательно установить в первую очередь.

Вот мы с Вами и разобрались, что нужно сделать, если появилась ошибка «Невозможно создать директорию в WordPress». Как Вы видите, это не сложно исправить.

Если не сейчас, то в будущем Вам точно понадобится эта информация: Пошаговая инструкция, как обновить PHP на WordPress.

«Автор: Леонид Никитин»

paskalnikita

86 / 86 / 30

Регистрация: 12.08.2014

Сообщений: 1,128

1

Ошибка при создании директории

14.05.2015, 19:16. Показов 1468. Ответов 3

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Всем доброго врмени суток! НЕ моуг понять почему выдает мне ошибку.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<div style="background:white;">
<?php
// Желаемая структура папок
$username = 'username';
$structure = "images/gallery/$username/";
 
$filename ="index.php";
 
$file_dir = "$structure/$filename";
 
if (!mkdir($structure, 0777, true)) {
    echo 'You alredy created album!';
} else{
  $fh = fopen ("images/gallery/$username/index.php", "w+");
  fwrite ($fh, "Содержимое фала для галереи");
  fclose ($fh);
  echo "You created album!";
}
?>
 
</div>

Сами директории создаются, файлы тоже, но когда пытаюсь создать повторно директорию, выдает такую ошибку: File exists in Z:homepage.comwwwtest.php on line 152(152 строка:

PHP
1
 if (!mkdir($structure, 0777, true)) {

) , а также мою. Подскажите,что делаю не так? Заранее спасибо!



0



Dolphin

813 / 796 / 201

Регистрация: 21.09.2012

Сообщений: 2,656

14.05.2015, 19:27

2

Лучший ответ Сообщение было отмечено paskalnikita как решение

Решение

Все верно, пытаемся создать папку, которая уже существует, вот и ругается. Перед тем как создавать ее, нужно проверить нет ли ее уже

PHP
1
is_dir($structure)



1



paskalnikita

86 / 86 / 30

Регистрация: 12.08.2014

Сообщений: 1,128

14.05.2015, 19:38

 [ТС]

3

толкьо что-то с логикой проблема, подскажите, что не так делая опять:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$username = 'username';
$structure = "images/gallery/$username/";
$filename ="index.php";
$file_dir = "$structure/$filename";
if (is_dir($structure)) {
    if (!mkdir($structure, 0777, true)) {
        echo 'You alredy created album!';
    }
} 
else{
  $fh = fopen ("images/gallery/$username/index.php", "w+");
  fwrite ($fh, "Содержимое файла для галереи");
  fclose ($fh);
  echo "You created album!";
}
?>

Добавлено через 2 минуты
Все, решил, лишнее условие было.



0



Dolphin

813 / 796 / 201

Регистрация: 21.09.2012

Сообщений: 2,656

14.05.2015, 19:40

4

PHP
1
2
3
4
5
6
7
8
if (is_dir($structure)) {
    echo "Данная папка $structure уже существует";
}
elseif (!mkdir($structure, 0777, true)) {
    echo 'Произошла ошибка при создании каталога '.$structure;
}
else
.....



0



Используйте метод CreateDirectoryA. У вас CreateDirectory, почему то вызывает CreateDirectoryW(скорее всего метод CreateDirectory является оркестровым и он проверяет аргумент на unicode)

короче так работает:

CreateDirectoryA("C:\test123", nullptr);

или если использовать CreateDirectoryW:

CreateDirectoryW(L"C:\test1235", nullptr);

почитать про различие двух методов и про такие аргументы они внутрь себя принимают:

msdn CreateDirectoryA

msdn CreateDirectoryW

P.S. так и есть идет проверка на Unicode :

#ifdef UNICODE
#define CreateDirectory  CreateDirectoryW
#else
#define CreateDirectory  CreateDirectoryA
#endif // !UNICODE

так что надо быть аккуратным!

Используйте метод CreateDirectoryA. У вас CreateDirectory, почему то вызывает CreateDirectoryW(скорее всего метод CreateDirectory является оркестровым и он проверяет аргумент на unicode)

короче так работает:

CreateDirectoryA("C:\test123", nullptr);

или если использовать CreateDirectoryW:

CreateDirectoryW(L"C:\test1235", nullptr);

почитать про различие двух методов и про такие аргументы они внутрь себя принимают:

msdn CreateDirectoryA

msdn CreateDirectoryW

P.S. так и есть идет проверка на Unicode :

#ifdef UNICODE
#define CreateDirectory  CreateDirectoryW
#else
#define CreateDirectory  CreateDirectoryA
#endif // !UNICODE

так что надо быть аккуратным!

Нужно проверить, чтобы у файлов был тот же владелец, что и пользователь Apache. Кроме того, выставить необходимые права на папки и файлы.
chown bitrix:bitrix file.php

Для массовой смены владельца можно использовать:
find . -type f -exec chown bitrix:bitrix {} ;

Вот универсальное решение:

cd /home/bitrix/www
find . -type d -exec chmod 775 {} ;
find . -type f -exec chmod 664 {} ;
find . -type d -exec chown bitrix:bitrix {} ; 
find . -type f -exec chown bitrix:bitrix {} ;

/home/bitrix/www — директория где лежит сайт
bitrix:bitrix — пользователь и группа под кем запущен демон httpd
Пользователя и группу можно подсмотреть в phpinfo.

  1. 27.05.2010, 04:44


    #1

    Reacol вне форума


    Junior Member


    Регистрация
    21.05.2009
    Сообщений
    9

    По умолчанию Ошибка при создании директории

    Версия ISPmanager-Pro 4.3.43.1
    Centos 5.4

    При создании нового домена, создается папка mod-tmp, владелец которой не apache, а 80. Это ведет к тому, что загружать файлы не получается на сервер, без смены владельца…


  2. 27.05.2010, 05:04


    #2

    ls вне форума


    ISPsystem team

    Аватар для ls


    Регистрация
    12.03.2007
    Сообщений
    10,471

    По умолчанию

    http://ru.ispdoc.com/index.php/Файл_…r_(ISPmanager)

    Попробуйте указать ApacheUid явно в конфиге ISPmanager


Понравилась статья? Поделить с друзьями:
  • Ошибка при создании нового тома диска
  • Ошибка при создании дескриптора окна sql
  • Ошибка при создании нового раздела
  • Ошибка при создании дела на пфмс что это
  • Ошибка при создании начального образа