Ir para conteúdo

POWERED BY:

Arquivado

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

kklj

[Resolvido] Erro move_uploaded_file

Recommended Posts

pessoa tenho um sistema para upload de imagens, eu testei local e funciona blzinha, so q no server nao funciona, ele é um server linux. o erro é esse:

 

Warning: chmod() [function.chmod]: No such file or directory in /home/wwwe/public_html/xx/gravar.php on line 82

 

Warning: move_uploaded_file(imagens/pedra.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/wwwe/public_html/xx/gravar.php on line 83

 

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpUrUxq3' to 'imagens/pedra.jpg' in /home/wwwe/public_html/xx/gravar.php on line 83

 

meu codigo é esse?

$erro = $config = array();// Prepara a variável do arquivo
			$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;// Tamanho máximo do arquivo (em bytes)
			$config["tamanho"] = 106883;// Largura máxima (pixels)
			$config["largura"] = 400;// Altura máxima (pixels)
			$config["altura"]  = 300;
			// Formulário postado... executa as ações
			if($arquivo){  
				// Verifica se o mime-type do arquivo é de imagem
				if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))	{
				$erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo";
			  }
			  else	{
				// Verifica tamanho do arquivo
				if($arquivo["size"] > $config["tamanho"]) {
					$erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. Envie outro arquivo";
				}
				// Para verificar as dimensões da imagem
				$tamanhos = getimagesize($arquivo["tmp_name"]);
				// Verifica largura
				if($tamanhos[0] > $config["largura"])  {
					$erro[] = "Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels";
				}
				// Verifica altura
				if($tamanhos[1] > $config["altura"])	{
					$erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels";
				}
			  }
			  // Imprime as mensagens de erro
			  if(sizeof($erro)){
				  foreach($erro as $err)
				  {
					echo " - " . $err . "<BR>";
				}
				echo "<a href=\"xx.php\">Fazer Upload de Outra Imagem</a>";
			  }
			  // Verificação de dados OK, nenhum erro ocorrido, executa então o upload...
			  else
			  {
				// Pega extensão do arquivo
				preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
				// Gera um nome único para a imagem
				$arquivo = $_FILES['foto'];
				// Caminho de onde a imagem ficará
				$imagem_dir = "imagens/" . basename($arquivo['name']);
				// Faz o upload da imagem
				chmod($imagem_dir , 0777);
				move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
esse é so o trecho do upload. eu pesquisei na net e fala para colocar chmod 777, eu ja coloquei e continua a mostrar esse erro.

 

algume poderia me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é o seguinte, as imagens serao salvas na pasta imagens, q esta dentro da pasta site, eu dei permissao a pasta site, funciona? pois aki continuou dando erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

modifique o :move_uploaded_file($_FILES['arquivo']['tmp_name'],$dir.'/'.$_FILES['arquivo']['name'])

Compartilhar este post


Link para o post
Compartilhar em outros sites

substitua isso:

$imagem_dir = "imagens/" . basename($arquivo['name']);

por isso:

$imagem_dir = "imagens/" . $arquivo['name'];

dê permissão na pasta "imagens"

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigos deu certo, eu so dei permissao na pasta imagens, antes estava dando permissao na pasta site.

obrigado a você ai q me ajudaram.

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.