Ir para conteúdo

Arquivado

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

maurohpg

Erro Upload Multiplo

Recommended Posts

Bom dia pessoal, estou fazendo um upload múltiplo de imagens, mais estou com um pequeno problema, estou testando e não
está sendo feito o upload, e não me mostra mensagem de erro algum, revisei o código ja várias vezes e não consigo encontrar
um erro. Por acaso alguém tem ideia do que pode estar ocorrendo?

  <?
include("../config.php");
include("verifica.php");

if($acao ==''){

echo '<form action="album_add.php?acao=add&id='.$id.'" method="post" enctype="multipart/form-data" name="form1">
  <p align="center">Imagem<br>
    <input type="file" name="foto[]" multiple/>
  </p>
  <p align="center">Pequena descri&ccedil;&atilde;o<br>
    <input name="desc_" type="text" size="60" maxlength="250">
  </p>
  <p align="center"> 
    <input type="submit" name="Submit" value="Enviar">
  </p>
</form>';

}// FECHA principal
?>
  <?php

if(isset($_POST['enviar']) == 'sim'){

$i = 0;

  foreach($_FILES['foto'] as $k=>$v)

  {

	if(!empty($_POST['desc_'][$i]) && !empty($_FILES['foto']['name']))

	{

		// Largura máxima em pixels
		$largura = 640;
		
		// Altura máxima em pixels

		$altura = 480;
		
		// Tamanho máximo do arquivo em bytes
		
		$tamanho = 10000;
		// Verifica se o arquivo é uma imagem

		$tipos_permitidos = array('pjpeg'=>'image/pjpeg',

								  'jpeg'=>'image/jpeg',

								  'jpg'=>'image/jpg',

								  'gif'=>'image/gif',

								  'bmp'=>'image/bmp',

								  'png'=>'image/png'

								  );

		foreach($tipos_permitidos as $k=>$v)

		{

		  if($_FILES['foto']['type'][$i] == $v)

		  {

			$ext[1] = $k;

			break;

		  }

		}

		if(!isset($ext))

		{


		  $error[1] = 'Extensão do arquivo não permitida: ' .$_FILES['foto']['type'][$i];

		}


		// Pega as dimensões da imagem

		$dimensoes = getimagesize($_FILES['foto']['tmp_name'][$i]);


		// Verifica se a largura da imagem é maior que a largura permitida

		if($dimensoes[0] > $largura) {

			$error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels";

		}


		// Verifica se a altura da imagem é maior que a altura permitida

		if($dimensoes[1] > $altura) {

			$error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";

		}


		// Verifica se o tamanho da imagem é maior que o tamanho permitido

		if($_FILES['foto']['size'][$i] > $tamanho) {

			$error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";

		}


		if (!isset($error))

		{


			// Gera um nome único para a imagem

			$nome_imagem = md5(uniqid(time())) . "." . $ext[1];


			// Caminho de onde ficará a imagem

			$caminho_imagem = "../uploads/album/" . $nome_imagem;


			// Faz o upload da imagem para seu respectivo caminho

			move_uploaded_file($_FILES['foto']["tmp_name"][$i], $caminho_imagem);
			
			
			include("resizer_foto_album.php");
  

			$sql = mysql_query("INSERT INTO fotos (id_imovel, foto, obs_foto) VALUES ('$id', '$imagem_nome', '$desc_')") or print(mysql_error());

		}

		else

		{

		  echo 'Erro(s) encontrado(s)<br>';

		  foreach($error as $ek=>$ev)

		  {

			echo $ev. '<br>';

		  }

		}

	}

  $i++;

  }

}

?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue código correto para o sistema de Upload Multiplo.

 <?php
  	if($acao =='add'){
	}
  
   if(isset($_FILES['foto']))
   {
      require 'wide/WideImage.php'; //Inclui classe WideImage à página

      date_default_timezone_set("Brazil/East");

      $name     = $_FILES['foto']['name']; //Atribui uma array com os nomes dos arquivos à variável
      $tmp_name = $_FILES['foto']['tmp_name']; //Atribui uma array com os nomes temporários dos arquivos à variável

      $allowedExts = array(".gif", ".jpeg", ".jpg", ".png", ".bmp"); //Extensões permitidas

      $dir = '../uploads/album/';

      for($i = 0; $i < count($tmp_name); $i++) //passa por todos os arquivos
      {
         $ext = strtolower(substr($name[$i],-4));

         if(in_array($ext, $allowedExts)) //Pergunta se a extensão do arquivo, está presente no array das extensões permitidas
         {
            $new_name = date("Y.m.d-H.i.s") ."-". $i . $ext;

            $image = WideImage::load($tmp_name[$i]); //Carrega a imagem utilizando a WideImage

            $image = $image->resize(800, 600, 'outside'); //Redimensiona a imagem para 170 de largura e 180 de altura, mantendo sua proporção no máximo possível
				
            $image->saveToFile($dir.$new_name); 
		
			$sql = mysql_query("INSERT INTO fotos (id_imovel, foto, obs_foto) VALUES ('$id', '$new_name', '$desc_')")  or die(mysqli_error());
		
         }	
			 
      }
	  
	  echo("<script>javascript:alert('Fotos cadastradas com sucesso!');location.href='imoveis.php';</script>"); 
	  
   }
?>

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
    • Por Carlos Web Soluções Web
      Olá...
      Estou tentando fazer o seguinte !!
      Listando dados em tabela !!
      Gostaria que....se na listagem houver 4 linhas...indepedente de seu número de ID, faça a listagem em ID ser em ordem 1 2 3 4 !!
      Exemplo...se tiver uma listagem de dados que está em ID 1 3 3...faça ficar 1 2 3 !!

       
      echo "<table class='tabela_dados' border='1'> <tr> <td>ID</td> <td>Nome Empresa</td> <td>Responsável</td> <td>Telefone 1</td> <td>Telefone 2</td> <td>E-mail 1</td> <td>E-mail 2</td> <td>Endereço</td> <td>CEP</td> <td>Bairro</td> <td>AÇÃO 1</td> <td>AÇÃO 2</td> </tr> "; $sql = "SELECT ID FROM usuarios_dados WHERE Usuario='$usuario'"; $result = $conn->query($sql); $num_rows = $result->num_rows; $Novo_ID = 1; for ($i = 0; $i < $num_rows; $i++) { $registro = $result -> fetch_row(); $sql2 = "UPDATE usuarios_dados SET ID='$Novo_ID' WHERE ID='$Novo_ID'"; $result2 = $conn->query($sql2); $Novo_ID++; } $sql = "SELECT * FROM usuarios_dados"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "<tr> <td>$row[ID]</td> <td>$row[Nome_Empresa]</td> <td>$row[Responsavel]</td> <td>$row[Telefone_1]</td> <td>$row[Telefone_2]</td> <td>$row[Email_1]</td> <td>$row[Email_2]</td> <td>$row[Endereço]</td> <td>$row[CEP]</td> <td>$row[Bairro]</td> <td> <form method='post' action='Editar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='EDITAR'> </form> </td> <td> <form method='post' action='Deletar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='DELETAR'> </form> </td> </tr> "; } } else { echo "0 results"; } $conn->close();  
    • Por ILR master
      Boa tarde pessoal, tudo bem ?
       
      Eu uso o tinymce para cadastro de textos no meu siite, porém, quero fazer um sistema para que os colunistas possam fazer o próprio post.
      O problema do tinymce, é que ele mantém a formatação do texto copiado, como tamanho de fonts, negritos, etc... Quero que o usuário cole o texto e a própria textarea limpe a formatação para que ele formate como quiser.
       
      A pergunta é:
       
      O tinymce tem uma opção para desabilitar a formatação quando um texto é colocado?
      Tem alguma função via java ou php para retirar a formatação assim que o texto é colado?
      Ou é melhor usar um outro editor?
       
      Agradeço deste já.
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por ILR master
      Fala pessoal.
       
      Seguinte:
       
      Quero selecionar duas tabelas e mostrar com resultados intercalados. Abaixo segue um código explicando para vcs terem uma ideia.
       
      $consulta = "SELECT A.*, B.* FROM tabela1 A, tabela2 B'";
      $resultado = mysqli_query($conexao, $consulta) or die ("erro");
      while($busca = mysqli_fetch_array($resultado)){
       
      print $busca['cod_evento']; --> traz o código da tabela1 
      print $busca['titulo_evento']; -->  traz o titulo da tabela1
      print $busca['cod_noticia']; --> traz o código da tabela2
      print $busca['titulo_noticia']; --> traz o tituloda tabela2
       
      }
       
      Espero que entendam. Grato
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.