• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ht

[Resolvido] Problema ao apagar ficheiros

10 mensagens neste tópico

boas ppl  :P,

tenho uma função que apaga ficheiros e pastas seleccionadas numa lista que tem um problema. Quando um directório é seleccionado, ele é removido recursivamente.

O problema nisto é que esta função não consegue apagar o directório contido no directorio raiz do site. Por exemplo, no directorio raiz do site existe o seguinte conteúdo:

index.php -> 744

media -> 755

task list -> 744

test -> 777

test.ini -> 777

modules -> 755

quando é seleccionado por ex, o ficheiro test.ini e o directorio test para remover, é removido tudo dentro do directório, sejam ficheiros ou directorias, mas não apaga os ficheiros ou directorias da raiz do site. O erro apresentado é de permissão negada (rmdir(./test) [function.rmdir]: Permission denied). Não percebo a razão deste erro já que as permissões estão a 777.

alguma ideia? :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

segundo essas permissões, se o apache não estiver a correr com as permissões de root ou proprietario desses ficheiros, não pode apagar esses 744

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu sei que se as permissões estiverem com 744 não dá para apagar, mas o problema não é esse. O problema é que os items com permissões 777 na raíz do site não dão para apagar. Além disso as permissões da directoria raíz do site também estão a 777.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

agora funciona  :) mas continuo sem perceber onde estava o problema nisto.

obrigado pela ajuda.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A directoria podia estar a 777 mas os ficheiros dentro dela não, logo não os podias apagar. Não podendo eles ser apagados, tambem não o pode a directoria onde estão.

Ao usares a opção -R no comando chmod, estás a definir a permissão para essa pasta de forma recursiva, ou seja, tudo o que lá está dentro tambem vai mudar para essas permissões.

As man pages não são uma coisa de leitura tão inacessível como a maior parte das pessoas pensa, eu todos os dias as consulto. São tipo um velho amigo que tem sempre uma resposta fiável.

man chmod

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pedrotuga, os ficheiros dentro dessas directorias com permissões 777 eram removidos. só não era removido essas mesmas directorias/ficheiros que pertenciam à raiz do site. Todos os outros abaixo dele eram apagados.

eu tambem consultei a man page do chmod  :)

vou ver se descubro onde estava realmente o problema

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

as permissões tambem me confundem todo muitas vezes...

a directoria de raíz estava com 777?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

experimentei colocar  as permissões chmod 755 pasta_raiz e realmente deu para perceber o que o problema era esse. Voltando a colocar as permissões a 777 da raiz do site já dá para remover..

Quando penso em permissões, penso sempre sobre aqueles que vou efectuar operações e não sobre a directoria em que estão colocados..

gracias :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

experimentei colocar  as permissões chmod 755 pasta_raiz e realmente deu para perceber o que o problema era esse. Voltando a colocar as permissões a 777 da raiz do site já dá para remover..

Quando penso em permissões, penso sempre sobre aqueles que vou efectuar operações e não sobre a directoria em que estão colocados..

gracias :)

Exactamente o mesmo que me intriga a mim, eu já aprendi por experiencia de situações seelhantes a esta, mas nunca percebi 100% como funcionam as permissões.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora