Не могу создать папку с помощью mkdir - PullRequest
1 голос
/ 25 августа 2009

Информация об окружающей среде:
* Windows Vista
* PHP 5.2.9-2

Я работаю над проектом. Допустим, это просто название проекта. Мои php файлы, предназначенные для взаимодействия с пользователем, будут найдены на

Проект / file.php

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

проект / файлы / Users / 0 / profilePic.jpg

Число соответствует идентификатору пользователя в базе данных.

Мой register.php файл содержит следующую строку кода:

mkdir('/files/Users/'.$id)

Переменная $id является самым большим номером идентификатора в базе данных плюс 1.

Но это не сработает. Я проверил папки, у меня есть права на чтение и запись (я администратор на моей машине).

Что я делаю не так?

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

Ответы [ 4 ]

7 голосов
/ 25 августа 2009

Как насчет этого?

mkdir('c:/files/Users/'.$id)
2 голосов
/ 25 августа 2009

Пара возможностей:

  1. Потеряйте первый /, поскольку он дает абсолютный путь, и вы ищете сделать относительный путь - так mkdir ('files / Users /'.$ id)
  2. Существуют ли файлы / пользователи (т. Е. Уже есть пользователь 0, пользователь 1 и т. Д.)? Если нет, вам нужно сначала сделать их или выполнить mkdir ('files / Users /' .$ id, 077, true) для рекурсивного создания каталогов.
1 голос
/ 25 августа 2009

В Windows путь начинается не с '/', а с буквы диска. Просто удалите первую косую черту (поэтому '/ files / users /' становится 'files / users /').

Далее, что сказал Марк.

0 голосов
/ 25 августа 2009

PHP заявляет, что он делает лучшую попытку преобразования / между системами. выполнив:

mkdir('/files/users');

Запутал PHP, думая, что это было в * NIX системе. Установив root на c :, теперь он мог правильно проанализировать параметр и сделать вывод, что это система Windows

...