Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Warning: move_uploaded_file(upload/PaperCutMF15-Pet Center Comercio e Participacoes S.A., BR.license): failed to open stream: Permission denied in /var/www/ecoprintq.com.br/public_html/portal/intranet/classes/Upload.php on line 40
Warning: move_uploaded_file(): Unable to move '/tmp/phpy3gdPW' to 'upload/PaperCutMF15-Pet Center Comercio e Participacoes S.A., BR.license' in /var/www/ecoprintq.com.br/public_html/portal/intranet/classes/Upload.php on line 40
Warning: copy(0): failed to open stream: Permission denied in /var/www/ecoprintq.com.br/public_html/portal/intranet/classes/ManipularArquivos.php on line **23
Como mudar as permissões do servidor??**
chmod operation not permitted
Aconteceu isso
Vá pelo terminal e tente trocar o proprietário da pasta.
Aqui, não temos acesso ao terminal. como que fica?
What?
Como é que você sobe seus arquivos brow, por ftp?
na verdade nem sou eu quem subo, é uma outra pessoa, sou do desenvolvimento, e essa pessoa também não tem acesso.
Creio eu que seja no ftp msm
Tenso isso, não tem milagre, o camarada tem que dar permissão de escrita para você poder usar, ou manualmente ou entrando pelo terminal via SSH. Por isso unix/linux é oque é, 99.99% seguro.
Agora se atualizem ae, uma equipe onde um faz e outro sobe, não conhecem git, deploy, github, jenkins, conta de usuário no linux?
Pois meus chefes que tem acesso ao servidor, tem passar por homologação e coisas do tipo
É ai complica!!!
>
Você não pode usar a função chmod() para mudar as permissões de uma pasta, ele serve apenas para alterar permissões de arquivos, portanto, esta não é a melhor solução para seu problema.
Mas pelo FTP você pode definir manualmente a permissão 755 e verificar se o seu upload funciona. Você não precisa acessar o servidor via SSH para resolver isso.
Se a permissão 755 estiver definida corretamente, poste aqui o código da sua classe Upload.php
Cada coisa que a gente lê, leia lá em cima o que eu disse.
o camarada tem que dar permissão de escrita para você poder usar, ou manualmente ou entrando pelo terminal via SSH.
http://php.net/manual/en/function.chmod.php
Amigo altera a documentação fazendo um favor!
Aqui também
https://pt.wikipedia.org/wiki/Chmod
Caso um sistema tiver que criar centenas de pastas automaticamente todos os dias MKDIR, e nelas gravar meus arquivos, preciso de Permissão CHMOD, um sistema SAAS por exemplo, você fará isso manualmente, acredito que não né?
Cada caso é um caso, não posso chegar e dar permissão para uma pasta de UPLOAD chmod - R 0755 upload, onde pode conter dados sensíveis em subpastas no diretório.
;) De boa!
Chega junto para ajudar a galera, discordâncias sempre vai haver no mundo chamado TI. B)
Se não houvesse discordância no mundo, até hoje estaríamos achando que terra é centro da terra.
Enfim, ainda não consegui solucionar meu problema. Vou ter que entrar em contato com o pessoal dos EUA da empresa para poder liberar a permissão. Imagino que seja a única solução.
Será que existe outra alternativa?? Por exemplo, eu preciso pegar o conteúdo do arquivo para lelo, por isso resolvi fazer o upload dele, depois trata-lo no próprio servidor.
Faz o seguinte, remova as pasta que criaram manualmente e deixe que o php se encarrega de criar
Adicionei
$path = '/upload/copia/';
mkdir( $path, 0755, true );
E faça isso pelo PHP, o usuário vai seo o www-data, e vê se cria automaticamente. Senão criar você não tem permissão pra nada.
<?php
public function mudarFormatoArquivo($arquivo) {
try {
$path = '/upload/copia/';
mkdir( $path, 0755, true );
copy($arquivo, "upload/copia/" + $arquivo);
$resp = explode(".", $arquivo);
$arquivoZip = "upload/copia/" + $resp[1] + ".zip";
rename("upload/copia/" + $arquivo, $arquivoZip);
return $arquivoZip;
} catch (Exception $ex) {
echo $ex->getMessage();
}
}
http://forum.imasters.com.br/topic/554246-erro-de-permissao-do-servidor/
Vou tentar isso aqui
Deu mkdir(); Permission Denied
Já não sei o que mais fazer.
Existe alguma outra forma de pegar o conteúdo do arquivo??
Se você puder explicar exatamente o que você precisa fazer, talvez alguém tenha alguma alternativa.
Você realmente precisa que o arquivo fique salvo para uso posterior? Ou você só precisa do conteúdo dele no momento do upload?
Qual o tamanho médio dos arquivos? E com que frequência o upload vai ser utilizado?
Fala meu caro. Bom dia.
O que o sistema está fazendo é o seguinte, está pegando o conteúdo do arquivo, fazendo o upload, após o upload do arquivo, pega o conteúdo desse arquivo e salvo no banco de dados com todos os dados desse arquivo.
Esse arquivo tem 1kb, só tem o uso para pegar o conteúdo do arquivo mesmo. Vai ser várias vezes, muitas vezes mesmo;
Entendi.
Por padrão, quando é feito upload de um arquivo, o PHP armazena ele na pasta temporária do sistema operacional. No seu caso, o que está dando erro é quando você tenta mover esse arquivo temporário para uma outra pasta (usando o move_uploaded_file/copy). Como você não precisa que o arquivo fique salvo para uso posterior, então você também não precisa movê-lo; apenas leia o conteúdo dele da pasta temporária mesmo, usando, por exemplo, a função file_get_contents...
Isso que estou pensando aqui, e avaliando se tiro a função de upload e tudo mais. Vou fazer isso após meu almoço.
Bom dia galera.
Eu estou com a seguinte particularidade, onde infelizmente vou precisar fazer upload de arquivos.
O arquivo que é gerado na licença da empresa que eu trabalho, é chamado .License
Esse .License, é um arquivo de licença da papercut, esse arquivo de licença, tem que ser transformado em arquivo .zip, para abrir o txt que tem dentro do arquivo .License.
Ai só consigo fazendo upload mesmo. :(
1) Upload é o processo do usuário enviar um arquivo para seu servidor, e isto já está sendo feito com sucesso. O que você não consegue fazer é mover o arquivo para outra pasta (por falta de permissão);
2) O que você quer dizer com "transformar em .zip"? Apenas renomear o arquivo? Se você não precisar ter uma cópia do arquivo em disco para acessá-lo novamente depois, você pode fazer tudo que precisar na própria pasta temporária, porque se o upload deu certo é porque seu sistema tem permissão para ler e escrever nela;Como que eu faria para poder trabalhar essas mudanças dentro daquele arquivo temporário?
Da mesma forma que você iria fazer após mover o arquivo com move_uploaded_file. A única diferença é que você vai ter que trabalhar na pasta onde o arquivo está ("/tmp"), e o nome dele é aleatório (ex: "phpy3gdPW"); estas informações estão disponíveis em $_FILES.
Exemplo:
// suponhamos que $caminhoArquivo tenha o caminho que está em $_FILES (ex: "/tmp/phpy3gdPW")
$caminhoArquivo = $_FILES["indice que esta as informacoes"]["tmp_name"];
// pegar o conteúdo
$content = file_get_contents($caminhoArquivo);
// ou para renomear
rename($caminhoArquivo, "/tmp/teste.zip");
De permissão de escrita na pasta, mas cuidado para não dar permissão demais.
Com php
http://php.net/manual/pt_BR/function.chmod.php
As recomendas
// Tudo para o proprietario, leitura e execucao para os outros
chmod ("/somedir/somefile", 0755);
// Tudo para o proprietario, leitura e execucao para o grupo do prop
chmod ("/somedir/somefile", 0750);
Até um 0700 resolve
Leia
https://pt.stackoverflow.com/questions/2270/permiss%C3%A3o-negada-ao-mover-arquivo-com-move-upload-file-em-servidor-linux