Ir para conteúdo

POWERED BY:

Arquivado

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

MBarros

[Resolvido] Enviar imagens para pasta...

Recommended Posts

Pessoal,

 

Como fazer com que as imagens sejam enviadas para uma pasta? (apenas 1 delas está indo) :(

 

2 tabelas, uma para onde o nome das imagens vão e outra para o restante dos dados (titulo, resumo, etc). Para colocar o nome da pasta como o ultimo ID inserido, eu tenho que fazer:

 

@mysql_query("INSERT INTO `trabalhos`(id_trabalho, id_imagem, titulo, resumo, producao, detalhes) VALUES('', '$id_imagem', '$titulo', '$resumo', '$producao', '$detalhes')");
$caminho = "uploads/" . date('dmY').".00".mysql_insert_id();

Até ai tudo bem, ele cria a pasta. O problema é que ele está enviando apenas 1 imagem para sua respectiva pasta pois eu teria que deixar o mkdir e o move_uploaded_file dentro do foreach para que as outras imagens fossem para a pasta.

 

Contudo, se eu deixar o mkdir e o move_uploaded_file dentro do foreach teria que adicionar também os inserts. E isso não me leva a um resultado nada agradável. (cada nome de img em uma row, quando as imagens referentes a um id estariam juntas, apesar de que, as imagens nesse caso iriam para a pasta)

 

<?php
  mysql_connect("localhost","root","") or die ("Não foi possível conectar ao Servidor.");
  mysql_select_db("lab") or die ("Não foi possível selecionar a base de dados");
  
	$titulo = $_POST['titulo']; 
	$resumo = $_POST['resumo']; 
	$producao = $_POST['producao']; 
	$detalhes = $_POST['detalhes']; 
	$imagens = array();
	
	$aExtensoes = array("jpg", "jpeg");
	
	$id_imagem = @mysql_query("SELECT * FROM `imagens` WHERE id_imagem=".$_GET['id_trabalho']);
	
	$_FILES['foto']['name'] = array_unique($_FILES['foto']['name']);

	
	foreach($_FILES["foto"]["name"] as $i => $nome_foto)
	{
		if ($_FILES["foto"]['error'][$i] == 0)
		{
			if (in_array(strtolower(substr($nome_foto, strrpos($nome_foto, ".") + 1)), $aExtensoes))
			{
				$nomeArquivo = md5($nome_foto);
				$nomeTemporario = $_FILES["foto"]["tmp_name"][$i]; 
				$extensao = end(explode('.', $nome_foto));
				
				$imagens[] = $nomeArquivo .'.'. $extensao;
			}
		}
	}
	
	@mysql_query("INSERT INTO `imagens`(id_imagem, foto1, foto2, foto3, foto4) VALUES('', '$imagens[0]', '$imagens[1]', '$imagens[2]', '$imagens[3]')");
	
	$query = "SELECT * FROM `imagens`";
	$resultado = 	mysql_query($query);
		
	while ($linha = mysql_fetch_array($resultado))
	{ 
		$id_imagem = $linha['id_imagem'];
	}
	
	@mysql_query("INSERT INTO `trabalhos`(id_trabalho, id_imagem, titulo, resumo, producao, detalhes) VALUES('', '$id_imagem', '$titulo', '$resumo', '$producao', '$detalhes')");
	$caminho = "uploads/" . date('dmY').".00".mysql_insert_id();
	
	if(!file_exists($caminho))
  {
    @mkdir($caminho, 0777);
  }

	if(move_uploaded_file($nomeTemporario, $caminho .'/'. $nomeArquivo .'.'. $extensao));
	{
	}
  echo "Arquivos enviados com sucesso.";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Moderação,

 

Favor colocar o o problema como resolvido pois eis a solução:

 

<?php
  mysql_connect("localhost","root","") or die ("Não foi possível conectar ao Servidor.");
  mysql_select_db("lab") or die ("Não foi possível selecionar a base de dados");
  
	$titulo = $_POST['titulo']; 
	$resumo = $_POST['resumo']; 
	$producao = $_POST['producao']; 
	$detalhes = $_POST['detalhes']; 
	
	$aExtensoes = array("jpg", "jpeg");
	
	$id_imagem = @mysql_query("SELECT * FROM `imagens` WHERE id_imagem=".$_GET['id_trabalho']);
	
	$_FILES['foto']['name'] = array_unique($_FILES['foto']['name']);
	
	$resultado = mysql_query("SHOW TABLE STATUS LIKE 'trabalhos'");
	$array = mysql_fetch_array($resultado);
	$caminho = "uploads/" . date('dmY').".00".$array['Auto_increment'];
	
	foreach ($_FILES["foto"]["name"] as $i => $nome_foto)
	{
		$nomeArquivo = md5(uniqid($nome_foto));
		$nomeTemporario = $_FILES["foto"]["tmp_name"][$i]; 
		$extensao = end(explode('.', $nome_foto));
		$imagens[] = $nomeArquivo .'.'. $extensao;
		
		if (!file_exists($caminho . $nomeArquivo .'.'. $extensao))
		{
			@mkdir($caminho, 0777);
			move_uploaded_file($nomeTemporario, ($caminho .'/'. $nomeArquivo .'.'. $extensao));
		}
	}
	
	@mysql_query("INSERT INTO `imagens`(id_imagem, foto1, foto2, foto3, foto4) VALUES('', '$imagens[0]', '$imagens[1]', '$imagens[2]', '$imagens[3]')");
	
	$query = "SELECT * FROM `imagens`";
	$resultado = 	mysql_query($query);
		
	while ($linha = mysql_fetch_array($resultado))
	{ 
		$id_imagem = $linha['id_imagem'];
	}
	
	@mysql_query("INSERT INTO `trabalhos`(id_trabalho, id_imagem, titulo, resumo, producao, detalhes) VALUES('', '$id_imagem', '$titulo', '$resumo', '$producao', '$detalhes')");
	
  echo "Arquivos enviados com sucesso.";
?>

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.