Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Eduneri

Problemas no envio de arquivo!

Recommended Posts

Olá pessoal, tudo bem?Estou com o seguinte problema:- Tenho um formulário onde o usuário o preenche com seus dados, e seleciona um arquivo, beleza... após enviado o formulário, o arquivo que recebe os dados, envia um email, para uma conta "x", e junto com essa função, tem a opção de copiar o arquivo da máquina do usuário para internet, que está no código a seguir... No meu CPU, funciona na boa, porém qdo jogo na NET, dá esse erro:

Warning: copy(artigos/1234.pdf) [function.copy]: failed to open stream: Permission denied in /bkp/vhost/www.posgraduacao.net/data/site_falm/enviar_artigo.php on line 112

O código que está esse erro, está dessa forma:
if($arquivo_tp <> ''){ // tipo					if(($arquivo_tp <> 'application/pdf')){ // verifica o tipo						echo "Tipo de arquivo inválido.<br>";						echo $arquivo_tp;						echo "<meta http-equiv='refresh' content='2; URL=javascript:history.go(-1);'>";					}else{						$arquivo1 = "artigos/$cpf";						if(file_exists($arquivo1)){							echo "O nome do arquivo já existe, por favor renomeie o arquivo.";							echo "<meta http-equiv='refresh' content='2; URL=javascript:history.go(-1);'>";						}//existencia do nome					  } // verifica o tipo				}// tipo				if($nome and $email){				   if($arquivo){						copy($arquivo,"artigos/$cpf.pdf");				   }else{						echo "Erro na Inclusão, tente mais tarde!";				   }
É isso aí intaum galera, agradeço a atenção!Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

entãoi cara erro de acesso ao arquivo usa a função:chmod($arquivo,0777)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Intaum, mas uso essa função?Na hora de copiar o arquivo?Vlw pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

então isso mesmo...depois que você faz o copy(..)..Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí beleza?Intaum fiz o q você falou, coloquei depois do comando copy, porém está dando o seguinte erro:

Warning: copy(artigos/03546677935.pdf) [function.copy]: failed to open stream: Permission denied in /bkp/vhost/www.posgraduacao.net/data/site_falm/enviar_artigo.php on line 112

Agradeço pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta colocar a permissão direto na pasta!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Ramires, beleza?

 

Mas como posso fazer isso?

 

O código de cópia fico assim:

if($arquivo){	copy($arquivo,"artigos/$cpf.pdf");	chmod($arquivo,0777);}else{		echo "Erro na Inclusão, tente mais tarde!";}

Vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguém?

Compartilhar este post


Link para o post
Compartilhar em outros sites
if($arquivo){	copy($arquivo,"artigos/$cpf.pdf");	chmod("artigos/$cpf.pdf",0777);}else{		echo "Erro na Inclusão, tente mais tarde!";}
não no tmp...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, fiz assim agora, mas mesmo assim, tá dando erro... porém outro tipo:

Couldn't connect as xxxClosed connection to xxx.xx.xx.x

if($arquivo){				   		$ftpUserName = 'xxx';						$ftpUserPass = 'xxxxxxx';						$ftpServer = 'xxx.xx.xx.x';						  $ftpConn = ftp_connect($ftpServer);												if (!$ftpConn) {							die("Unable to connect to $ftpServer");						  }						if (@ftp_login($conn_id, $ftpUserName, $ftpUserPass)) {   							echo "Connected as $ftpUserName @ $ftpServer";						}else{   							echo "Couldn't connect as $ftpUserName<br>";   							ftp_close($ftpConn);   							die("Closed connection to $ftpServer");						}												echo ftp_chmod($ftpConn, 0666, $ftpFilename) ? "CHMOD successful!" : 'Error';												copy($arquivo,"artigos/$cpf.pdf");						chmod("artigos/$cpf.pdf",0777);												echo ftp_chmod($ftpConn, 0644, $ftpFilename) ? "CHMOD successful!" : 'Error';												ftp_close($conn_id);				   }else{						echo "Erro na Inclusão, tente mais tarde!";				   }
O que pode ser isso?Obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe a possibilidade da função copy no PHP estar desativada no servidor, onde está hospedado?Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que tem sim, procura saber, veja com suporte onde você está hopedando...

 

ah, dá uma conferida..

 

Crie um phpinfo.php

 

phpinfo();

procura por --disable-ftp ou --enable-ftp

 

se tiver abilitado enable. quer dizer que tem suporte ao recurso FTP no php...

 

então você usa algum programa de FTP para enviar seus arquivos ?

 

tente fazer o seguinte, clica com o botão direito na pasta onde serão enviados os arquivos, e procure por

 

attributes(CHMOD) ou algo sobre permissão...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz, tudo o q você falou...encontrei essas linhas:

'--enable-ftp'FTP support enabled

Fiz o detalhe do programa de FTP... e encontrei as opções de chmod:

Owner => Read - Write - ExecuteGroup => Read - Write - ExecuteOther => Read - Write - Execute

Daí, deixei marcado todas as opções... creio q só precisava o write.. mas como não funcionou....Intaum, depois de tudo isso... ainda não funcionou...Meu code está assim:
if($arquivo){	$destino = "/artigos";		$nome_arquivo = "$cpf.pdf";	move_uploaded_file($arquivo,$destino."/".$nome_arquivo);	chmod("artigos/$cpf.pdf",0777);}else{		echo "Erro na Inclusão, tente mais tarde!";}
]VLW pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguém poderia me ajudar?Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.