Não é possível criar uma pasta com mkdir
Pergunta
Ambiente Informações:
* Windows Vista
* PHP 5.2.9-2
Eu estou trabalhando em um projeto. Vamos dizer que seu nome simplesmente "projeto". Meus arquivos php voltados para a interação do usuário vai ser encontrada em
projeto / file.php
Agora, eu tenho um banco de dados por trás disso e alguns mapas, que contêm classes e arquivos de configuração em geral. Há também um mapa para os usuários, em que eu armazenar imagens que pode carregar. Por exemplo:
projeto / arquivos / Users / 0 / profilePic.jpg
Os corresponde com o número id_usuario na base de dados.
Meu arquivo register.php
contém esta linha de código:
mkdir('/files/Users/'.$id)
A variável $id
é o maior número de ID no banco de dados, mais 1.
Mas não vai funcionar. Eu verifiquei as pastas, eu tenho tanto permissões de leitura e escrita (eu sou admin em minha máquina).
O que estou fazendo de errado?
Nota: o direito de me dizer que há uma maneira melhor de organizar esta reservado para aqueles que podem me dar uma resposta útil. : P
Solução
O que sobre isso?
mkdir('c:/files/Users/'.$id)
Outras dicas
Os pares de possibilidades:
- Perder o primeiro / uma vez que dá um caminho absoluto e você está olhando para fazer um caminho relativo - para mkdir ( 'arquivos / Users /'.$ id)
- arquivos Does / Usuários já existem (ou seja, já está lá usuário 0, o usuário 1, etc.)? Se não, você precisa fazê-los primeiro ou fazer mkdir ( 'arquivos / Users /'.$ id, 077, true) para criar recursivamente os diretórios.
No Windows, um caminho não começa com '/' mas com uma letra de unidade. Basta remover a primeira barra (so '/ arquivos / usuários /' se torna 'arquivos / usuários /').
Além disso, o que Mark disse.
PHP afirma que faz o melhor tentativa de converter a / entre sistemas. fazendo:
mkdir('/files/users');
Confuso PHP em pensar que estava em um sistema * NIX. Ao definir a raiz de C :, era agora capaz de analisar corretamente o parâmetro e deduzir que era um sistema de janelas