Ir para conteúdo

POWERED BY:

Arquivado

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

AlanD

Sistema de upload

Recommended Posts

Boa tarde galeres rs.

 

Bom tirando a gracinha lá em cima, estou com um problema, que realmente não consigo resolver :s, vamos - lá.

 

Basicamente preciso de um sistema de upload que vai utilizar jquery, php etc.. bom até ai tudo bem. O sistema deve ser basicamente um de multiplos uploads, estilo facebook, blz, até ai tudo bem, por que o que fiz até agora foi:

 

página HTML

<form action="cadastros/imagem_produto/upload_imagem.php" class="form_foto" method="post target="frame_foto_imagem" enctype="multipart/form-data">
                Selecione a Imagem :<br />
<input type="file" id="foto_produto" name="foto[]" multiple="multiple" size="30"/>
    <div>
       <input type="submit" class="confirma_subir_imagem" />Carregar Imagem
         <img src="imagens/loading.gif" style="width:20px;display:none" class="load_foto_produto"/>
   </div>
</form>

Beleza, isso é básico mas estamos chegando lá, o que tenho que fazer é possibilitar que o usuário selecione 1 ou mais arquivos e assim na hora que o usuário clicar no botão de carregar imagem:

 

<input type="submit" class="confirma_subir_imagem" />Carregar Imagem

O sistema lança a array de fotos para o jquery que vai receber os dados e fazer o tratamento, vou esclarecendo algo já, o problema não é o mover, porque minha função no php grava todos os arquivos na pasta, ou seja, ela está funcionando, porém, digamos que eu preciso ostentar (rs) isso um pouco (coisa de cliente sacaram) ou seja preciso conseguir enviar o nome dos arquivos selecionados para o jquery para ele separa-los e lista-los e depois eu gravo esse nome no banco, não sei se fui claro. continuando..

 

O jquery recebe a array de nomes:

 

arquivo jquery

var conta = 0;
var fotos = new Array();
/**INICIO UP IMAGENS**/
$('.confirma_subir_imagem').die('click');
$('.confirma_subir_imagem').live('click', function() {
	$('input[type=file][name="foto[]"]').each(function(resposta){
		fotos[conta] = $('#foto_produto').val();
		$.post('cadastros/checa_vetor_imagens_novo_produto.php', {fotos:fotos}, function(resposta){
			alert(resposta);
		});
		conta++;
	});
	
});
/**FIM UP IMAGENS**/

O script acima separa os nomes e vai realizando o post para a página "checa_vetor_imagens_novo_produto.php"

 

segue:

 

<?php
	$foto = str_replace('\\', '',($_POST['fotos']));
	$foto = str_replace('C:\fakepath', '', $foto);
	print_r($_POST);
?>

essa está simples porque eu ainda estava e estou verificando se está recebendo os valores, a função de tirar o fakepath está errada, eu sei, mas sei corrigi-la, meu problema é que de vez ele passar, por exemplo de 3 arquivos com os nomes: joao.jpg, epa.pdf, corre.png. ele simplesmente apenas me retorna no print_r da página php o primeiro valor "joao.jpg", ou seja, como se não existisse o array, mas existe, eu declarei, não estou entendo nada x.x.

 

Não sei se fui claro suficiente referente a minha dúvida, para falar a verdade isso é algo simples mas não estou conseguindo, peço ajuda, é meio urgente pessoal, se puderem me ajudar o mais rápido possível, agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para upload de imagens, vc precisa usar ou um plugin jQuery que usa iframe, ou a nova função FormData()

 

http://forum.imasters.com.br/topic/513615-upload-com-ajax-possivel/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo, o problema nem é no upload, isso está fazendo em outra função, o esquema aqui é que eu preciso pegar esses nomes (os dos arquivos) e manda-los junto a uma array para o jquery tratar separar e dar o post para o php me retornar. sacas? Por exemplo:

 

Arquivos escolhidos (usando shift ou ctrl):

 

Eae.pdf

Opa.jpg

 

2. arquivos selecionados

 

ai na hora que o usuário clicar em "carregar imagens" o jquery pega esses dois nomes separa em uma array, encaminha para o php e o php me retorna a array com o print_r, o que acontece é que quando fiz a função para pegar os nomes, ele simplesmente ignora o outro nome e utiliza apenas o 1, ou seja, a array retorna apenas 1 nome, na vdd preciso só pegar os nomes que estão no selecionados no campo file, pelo o que vi na função, está realizando todo o processo, upload etc.. mas meu problema nem é o upload.

 

Comentários: Cara já vi uns tópicos seus em outro lugar da net, 1 para ser mais especifico, só não lembro qual, me ajudou no trabalho, rs

Compartilhar este post


Link para o post
Compartilhar em outros sites
alert( $('input[type=file][name="foto[]"]').val() );

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.