Ir para conteúdo

POWERED BY:

Arquivado

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

Leonardo Machado Moreira

Upload de Imagens, JQuery, Metodo Post

Recommended Posts

Fala Pessoal, preciso fazer um upload de imagens para o meu site, até ai não há problema, encontrei uma boa rotina na internet mais ou menos isso.

 

Meu problema é o seguinte, eu preciso utiliza-la com ajax, e estou usando o JQuery, logo, a achada JQuery de POST ficam geralmente assim:

 

$.post('upload.php', 'foto='+$('#File$pai').val()+'', function(data){alert(data)});

 

bom tudo bem, o problema, é que estou utilizando este script de upload

 

http://www.linhadecodigo.com.br/Artigo.aspx?id=205

 

ou só o php, e não sei fazer chamada dele, passando o argumento FOTO para a página de um modo que ela reconheça o arquivo e haja normalmente.

 

Resumindo, não estou conseguindo chamar esta pagina php, por ajax Jquery

 

<?
	// Prepara a variável caso o formulário tenha sido postado
	$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;
	//$arquivo = $_POST['foto'];

	$config = array();
	// Tamano máximo da imagem, em bytes
	$config["tamanho"] = 106883;
	// Largura Máxima, em pixels
	$config["largura"] = 350;
	// Altura Máxima, em pixels
	$config["altura"] = 250;
	// Diretório onde a imagem será salva
	$config["diretorio"] = "fotos/";

	if($arquivo)
	{
		$erro = array();
		
		// Verifica o mime-type do arquivo para ver se é de imagem.
		if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))
		{
			echo "Formato Inválido";
			$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[] = "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";
			}
		}
	
		if(!sizeof($erro))
		{
			// Pega extensão do arquivo, o indice 1 do array conterá a extensão
			preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
			
			// Gera nome único para a imagem
			$imagem_nome = nome($ext[1]);
	
			// Caminho de onde a imagem ficará
			$imagem_dir = $config["diretorio"] . $imagem_nome;
	
			// Faz o upload da imagem
			move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
		}
	}
	else
	{
		echo "Selecione um Arquivo";
	}

	// Gera um nome para a imagem e verifica se já não existe, caso exista, gera outro nome e assim sucessivamente..
	function nome($extensao)
	{
		global $config;
	
		// Gera um nome único para a imagem
		$temp = substr(md5(uniqid(time())), 0, 10);
		$imagem_nome = $temp . "." . $extensao;
		
		// Verifica se o arquivo já existe, caso positivo, chama essa função novamente
		if(file_exists($config["diretorio"] . $imagem_nome))
		{
			$imagem_nome = nome($extensao);
		}
	
		return $imagem_nome;
	}
?>

 

Grato pela Ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos ver se eu entendi direito! eeheheh...

 

Tenta comentar a linha $arquivo = isset($_FILES... do seu arquivo PHP e ativar a linha abaixo. Vê se assim rola..

 

ABRAX!!

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.