Jump to content
Marcio_123

galeria de fotos com dropzone e banco de dados

Recommended Posts

ola pessoal blzz

 

to fazendo esse script dropzone para enviar varias fotos ao mesmo tempo pro servidor, so não conseguir gravar no DB. ele envia para pasta mas não grava no banco.

 

segue codigo funcionando 100% se alguem puder ajudar gravar no banco agradeço.

 

index.php

<!DOCTYPE html>
<html>
<head>
	<title>PHP - Multiple Image upload using dropzone.js</title>
	<script src="http://demo.itsolutionstuff.com/plugin/jquery.js"></script>
	<link rel="stylesheet" href="http://demo.itsolutionstuff.com/plugin/bootstrap-3.min.css">
	<link href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/4.0.1/min/dropzone.min.css" rel="stylesheet">
	<script src="https://cdnjs.cloudflare.com/ajax/libs/dropzone/4.2.0/min/dropzone.min.js"></script>
</head>
<body>


<div class="container">
	<div class="row">
		<div class="col-md-12">
			<h2>PHP - Multiple Image upload using dropzone.js</h2>
			<form action="upload.php" enctype="multipart/form-data" class="dropzone" id="image-upload">
				<div>
					<h3>Clique Aqui</h3>
				</div>
			</form>
		</div>
	</div>
</div>


<script type="text/javascript">
	Dropzone.options.imageUpload = {
        maxFilesize:3,
        acceptedFiles: ".jpeg,.jpg,.png,.gif"
    };
</script>


</body>
</html>

 

upload.php

<? include "../config.php"; ?>
<?

$id_noticia = "1";
$uploadDir = 'uploads'; // nome da pasta onde os arquivos fica

 $tmpFile = $_FILES['file']['tmp_name'];
 $filename = $uploadDir.'/'.time().'-'. $_FILES['file']['name'];
 if(move_uploaded_file($tmpFile, $filename)) {
 	// aqui faça a gravaçao no banco
	$sql = "INSERT INTO tb_imagens_noticias VALUES ('$id_noticia','$filename')";
	$qr = mysql_query($sql);
}
?>

 

nao esqueçam de criar a pasta uploads

 

gente so falta gravar no banco, helllp

Share this post


Link to post
Share on other sites

Na linha onde o sr. executa a query, acrescente:
$qr = mysql_query($sql) or die(mysql_error());

e nos mostre qual o erro que aparece.

 

 

P.S.

image.png.5cea9440e6414085e1d3b89a3ae82cfb.png

Há pelo menos 5 anos que o php recomenda fortemente que não se use mais as extensões mysql_*
use mysqli

Share this post


Link to post
Share on other sites
15 horas atrás, Marcio_123 disse:

$sql = "INSERT INTO tb_imagens_noticias VALUES ('$id_noticia','$filename')";

 

Você não está passando os campos onde será inserido os valores.

INSERT INTO tb_imagens_noticias (campo1, campo2) VALUES ('$id_noticia','$filename')

 

Share this post


Link to post
Share on other sites

nossa nunca mais vou esquecer isso :) SHOWWW

 

agora so teve um problema dentro do diretorio o nome ta ficando Ex: 1558021852-WIN_20170719_185057.JPG

 

e no banco de dados o nome do arquivo ta ficando  uploads/1558021852-WIN_20170719_185057.JPG

 

ele ta pegando o nome da pasta e gravando no banco. 

Share this post


Link to post
Share on other sites
Em 16/05/2019 at 13:00, Marcio_123 disse:

nossa nunca mais vou esquecer isso :) SHOWWW

 

agora so teve um problema dentro do diretorio o nome ta ficando Ex: 1558021852-WIN_20170719_185057.JPG

 

e no banco de dados o nome do arquivo ta ficando  uploads/1558021852-WIN_20170719_185057.JPG

 

ele ta pegando o nome da pasta e gravando no banco. 

Por que você esta botando o diretorio direto na variavel $filename.

Em 15/05/2019 at 19:39, Marcio_123 disse:

$filename = $uploadDir.'/'.time().'-'. $_FILES['file']['name'];

Altere para

$filename = time().'-'. $_FILES['file']['name'];

E aqui

Em 15/05/2019 at 19:39, Marcio_123 disse:

if(move_uploaded_file($tmpFile, $filename)) {

para

if(move_uploaded_file($tmpFile, $uploadDir.'/'.$filename)) {

Deve resolver o problema.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Victor Penna
      Bom dia pessoal, estou precisando de uma força de vocês quanto ao recurso dropzone, o que ainda estou aprendendo a trabalhar com ele. 
      A principio, estou precisando configura-lo no projeto da empresa, porém não estou conseguindo fazer corretamente uma zona especifica de upload na pagina do projeto. Usamos o framework Phlacon e estamos atualizando os recursos do projeto.  Ja li a documentação do projeto e pesquisei no wiki do projeto(gitlab), mas até o momento ainda não entendi muita da configuração, espero que possam me ajudar a alcançar o meu objetivo. 
       
      Preciso criar uma div, que seja a dropzone e nela consiga gerar um arrays dos caminhos já inseridos pelo input, para assim tratar no controller e salva-los no banco de dados.
      Atualmente o meu código está assim:
       
      phtml:
      <div class="row"> <div class="col-sm-12"> <div class="dropzone" id="dropEmp" > <?= $form->render("dsPath") ?> </div> </div> </div>  
      Javascript:
      Dropzone.options.dropEmp = { // Prevents Dropzone from uploading dropped files immediately autoProcessQueue: false, uploadMultiple: true, parallelUploads: 100, maxFiles: 100, // Dropzone settings init: function() { var dropEmp = this; this.element.querySelector("button[type=button]").addEventListener("click", function(e) { e.preventDefault(); e.stopPropagation(); dropEmp.processQueue(); }); this.on("sendingmultiple", function() { }); this.on("successmultiple", function(files, response) { }); this.on("errormultiple", function(files, response) { }); } };  
      Fico no aguardo da colaboração de vocês.
      Grande abraço pessoal!
       
    • By AnthraxisBR
      Boa tarde,
       
      Bom estou utilizando o plugin dropzone.js pra fazer o upload de uma imagem do painel de controle:

      Bom o tramite é o seguinte:
       
      1 - > Escolhe a pagina
      O código carregado ao escolher a página:
      $(document).on('change', '.select-page-header-banner', function () { var $this = $(this); var value = $this.val(); $('.place-to-fill-header-banner-content').empty().html('' + '<section>' + '<div class="container section">' + '<div class="thumbnail-mod-1">' + '<img src="img/box.gif"/>' + '<p class="h5 fw-l inline-block">Carregando</p>' + '</div>' + '</div>' + '</section>' + ''); $.ajax({ type: "POST", url: "callers.php", data: {function: 'load_header_banner_content', page: value}, dataType: 'html', success: function (data) { $('.place-to-fill-header-banner-content').empty().html(data); } }); }); 2 -> Escolher a opção 'Editar imagem'
      $(document).on('click', '.edit-image-header-banner', function () { $this = $(this); var page = $this.data('page'); $this.closest('.section-header-banner-image').closest('div').addClass('dropzone dropzone-file-area').prop('id', 'my-dropzone'); $this.closest('.text-header-banner-container').find('.text-header-banner').hide(); $this.closest('.section-header-banner-image').find('.edit-text-header-banner').hide(); $this.closest('.section-header-banner-image').find('.save-text-header-banner').hide(); $('.dz-default').show(); $('.dz-preview').css('dispĺay', 'block'); var element = $('#my-dropzone'); var dropzone = new Dropzone("#my-dropzone", { dictDefaultMessage: 'Solte as imagens aqui, formato recomendado 1800x400px, ou mantenha a proporção 18x4.', url: 'callers.php?function=upload_banner_image&page=' + page, success: function (file, response) { $('.bg-about-' + page).removeClass('bg-about' + page).addClass('bg-about-preview-' + page); $this.text('Confirmar imagem'); $this.closest('.section-header-banner-image').closest('div').removeClass('dropzone dropzone-file-area').removeAttr('id', 'my-dropzone'); $.ajax({ type: "POST", url: "callers.php", data: {function: 'load_header_banner_content', page: page,temp:true}, dataType: 'html', success: function (data) { $('.place-to-fill-header-banner-content').empty().html(data); } }); $('.dz-default').hide(); $('.dz-preview').hide(); } } ); });  
      O que muda é essa parte 2, nessa segunda parte, ao chamar a classe php que monta o campo jumbotron (bootstrap) com a imagem, ele muda a className '.bg-about-1' por '.bg-about-preview-1', indicando o carregamento da imagem temporária.
       
      Se clicar em confirmar, ele muda a imagem da pasta temporária para a pasta padrão e substitui a imagem anterior.
       
      Mas ao clicar em 'Outra imagem' é que está o problema, na primeira mudança, ele indica, muda a imagem do background e funciona como deveria, mas a partir da segunda mudança:
       
      O plugin carrega ok, a imagem é carregada para o servidor, o html que contem a imagem é recarregado, mas mesmo com a imagem substituída no destino, ela não atualiza mais.
       
      Acredito que seja algo relacionado ao cache, mas nem com as metatags funciona:
       
      <meta http-equiv="cache-control" content="no-store, no-cache, must-revalidate, Post-Check=0, Pre-Check=0"> <meta http-equiv="expires" content="0"> <meta http-equiv="pragma" content="no-cache"> Se não for o cache, qual poderia ser outro problema causando isso ?
       
      Esse é o retorno:
       

       
      Desde ja valeu :3
    • By Anderson Camargo
      ola boa noite estou tentando criar um arquivo de upload de imagem, que cria uma nova pasta para as imagens ele recupera o id da galeria e envia deveria enviar as imagens para pasta o que não está ocorrendo.
       
      Detalhes a pasta está sendo criada, e a imagem está sendo enviada mas não está upando para pasta criada, vou utilizar dropzone.
       
      Segue arquivo para que possam dar uma olhada agradeço desda já a ajuda.
      <?php $id = $_REQUEST['id']; $ds = DIRECTORY_SEPARATOR; //1 $storeFolder = '../ex5/galeria/'.$id.'/'; //2 if(!file_exists($storeFolder)) { mkdir('../ex5/galeria/'.$id.'/', 0777, true); } if (!empty($_FILES)) { $tempFile = $_FILES['file']['tmp_name']; //3 $targetPath = dirname( __FILE__ ) . $ds. $storeFolder . $ds; //4 $targetFile = $targetPath. $_FILES['file']['name']; //5 move_uploaded_file($tempFile,$targetFile); //6 } ?>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.