jcalebe 0 Denunciar post Postado Janeiro 9, 2011 Olá! A alguns dias eu estava estudando um sistema de upload com o PHP. Localmente, em plataforma windows ele funcionou 100%. Mas quando mandei pro servidor Linux ele não quis funcionar (não enviava o arquivo para a pasta selecionada e colocava uma barra nome dele). Aí eu desisti de usá-lo, mas não consegui apagar os arquivos que ele criou por conterem uma barra ("/") no nome. Como apago esses arquivos através do FTP? Uso o FileZilla. Compartilhar este post Link para o post Compartilhar em outros sites
gugoan 0 Denunciar post Postado Janeiro 9, 2011 Ja verificou as permissões no diretório?? da um chmod 777 Compartilhar este post Link para o post Compartilhar em outros sites
CrY 1 Denunciar post Postado Janeiro 10, 2011 usa a função unset() Compartilhar este post Link para o post Compartilhar em outros sites
jcalebe 0 Denunciar post Postado Janeiro 12, 2011 Ja verificou as permissões no diretório?? da um chmod 777 CHMOD não influencia em conexões via FTP. usa a função unset() unset() não vai resolver porque contém barra no nome. A função vai "pensar" que é um arquivo em uma pasta. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Janeiro 13, 2011 CHMOD não influencia em conexões via FTP. Claro que influencia... Se você não consegue apagar os arquivos, 99% de certeza que é porque você não ter permissão para isto com o usuário que faz a conexão pelo FTP. Para confirmar, ao tentar excluir, no espaço superior aparecerá uma mensagem. Veja qual é a mensagem que aparece lá. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 13, 2011 Ja verificou as permissões no diretório?? da um chmod 777 Credo! Nunca faça isso, a não ser que queira ter um sistema inseguro CHMOD não influencia em conexões via FTP. Claro que influencia... Se você não consegue apagar os arquivos, 99% de certeza que é porque você não ter permissão para isto com o usuário que faz a conexão pelo FTP. Para confirmar, ao tentar excluir, no espaço superior aparecerá uma mensagem. Veja qual é a mensagem que aparece lá. Carlos Eduardo Só complementando, você tem que ver o dono (owner) do arquivo criado e o dono do diretório em que ele está. É para ser o mesmo dono, aí uma permissão 700 já é suficiente. Normalmente diretórios ficam com 755, no máximo 775, mas NUNCA 777 Em suma, você precisa ter permissão de escrita num diretório para poder remover um arquivo que pertença a ele Tem que saber o mínimo de permissões para mexer com isso, senão a gente vê umas besteiras como "dar 777"... Bom tutorial sobre chmod: http://forum.imasters.com.br/index.php?/topic/299194-chmod/ Compartilhar este post Link para o post Compartilhar em outros sites
jcalebe 0 Denunciar post Postado Janeiro 15, 2011 Gente, não tem nada a ver com CHMOD ou permissão! A questão é que há uma barra ( / ) no nome do arquivo, e não consigo renomear nem apagar este arquivo específico! O arquivo é imagens/foto1.jpg O quando digito o nome dele no script para deletar ou tento deletar via FTP, eles "acham" que existe um arquivo chamado foto1.jpg dentro de uma pasta chamada imagens, quando na verdade o arquivo tem esse nome, ou seja, por causa do nome ele é interpretado como um arquivo dentro de uma pasta, quando ele é só um arquivo. Podem me ajudar agora? CHMOD não influencia em conexões via FTP. Claro que influencia... Se você não consegue apagar os arquivos, 99% de certeza que é porque você não ter permissão para isto com o usuário que faz a conexão pelo FTP. Carlos Eduardo Cara, se é o próprio FTP que altera as permissões do CHMOD, como isso vai surtir algum efeito nele? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 15, 2011 barras são proibidas em nomes de arquivos. Isso vale para todos os SO's, até onde sei Não faz sentido ter um arquivo cujo nome tem uma barra. o SO não cria um arquivo assim. Veja: com PHP beraldo@orion:/tmp$ cat file.php <?php $filename = 'dir/arq.txt'; file_put_contents( $filename, 'oi, sou um texto' ); ?> beraldo@orion:/tmp$ php file.php PHP Warning: file_put_contents(dir/arq.txt): failed to open stream: No such file or directory in /tmp/file.php on line 3 Direto no shell do Linux beraldo@orion:/tmp$ touch dir/arq.txt touch: não foi possível tocar `dir/arq.txt': Arquivo ou diretório não encontrado Você vê esse arquivo no FTP? Posta um print screen, pois isso é novidade para mim. Qual SO seu servidor roda? Compartilhar este post Link para o post Compartilhar em outros sites
jcalebe 0 Denunciar post Postado Janeiro 15, 2011 Beraldo, uso um servidor Linux. O arquivo foi criado por um script de upload de arquivos que deu errado. Na verdade, não é um arquivo, SÃO 4. Todos resultado de falhas no script que fiz. Imagem: http://i53.tinypic.com/vpw7qs.jpg Tem outros arquivos assim em outra pasta. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 15, 2011 está cheirando a uso errado de addslashes... :assobiando: :P É barra invertida. Isso não tem problema mesmo, em Linux. Mas aqui removo sem problema: beraldo@orion:/tmp/teste$ touch dir\\file.txt beraldo@orion:/tmp/teste$ ls dir\file.txt beraldo@orion:/tmp/teste$ rm dir\\file.txt beraldo@orion:/tmp/teste$ ls beraldo@orion:/tmp/teste$ Quando seleciona o arquivo e remove o que acontece? Só fala que não pode remover? Não aparece nenhuma mensagemd e erro no log do Filezilla? VocÊ tem acesso shell (SSH) ao sercidor?:? Compartilhar este post Link para o post Compartilhar em outros sites
jcalebe 0 Denunciar post Postado Janeiro 15, 2011 Olá! Erro do FileZilla: Sim, tenho acesso ao SSH. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Janeiro 15, 2011 Olá! Erro do FileZilla: Vixi... está acessando o FTP via Windows? Capaz que seja conflito do Windows. Acho difícil, já que o FTP está conectado em Linux... mas sei lá... Sim, tenho acesso ao SSH. então loga lá e manda um "rm", como postei antes :) Compartilhar este post Link para o post Compartilhar em outros sites
jcalebe 0 Denunciar post Postado Janeiro 15, 2011 Ops, falha no engano! Não tenho acesso ao SSH! E agora? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 15, 2011 faz um script php pra fazer o rename http://php.net/rename ja fiz scripts 'piores'. se você não conseguir acessar o arquivo pelo nome dele, roda em tudo *.* e sai removendo a \ Compartilhar este post Link para o post Compartilhar em outros sites
jcalebe 0 Denunciar post Postado Janeiro 15, 2011 Olá! Finalmente consegui, graças ao William Bruno. Fiz o seguinte: <?php echo (rename(".\avatar.gif", "1.txt"))? '1 Ok<br />':'Falha <br />'; echo (rename("\avatar.gif", "2.txt"))? '2 Ok<br />':'Falha <br />'; echo (rename("\\files\avatar.gif", "3.txt"))? '3 Ok<br />':'Falha <br />'; echo (rename("files\avatar.gif", "4.txt"))? '4 Ok':'Falha'; ?> Compartilhar este post Link para o post Compartilhar em outros sites