Ir para conteúdo

Arquivado

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

Claudiobrother

[Resolvido] loop e array

Recommended Posts

E aí rapazeada, tudo beleza?

Então, eu estou tentando fazer funcionar um script de upload unico em multiplo, mas não

estou me dando bem com os testes. Se alguem puder me ajudar eu agradeço de coração!

 

O FORM está assim:[/font]

<form action="recebe.php" enctype="multipart/form-data" method="post">
     <table align="center">
       <tr>
         <td align="right">Nome do Albun:</td>
         <td><input name="diretorio" type="text" size="32" /></td>
       </tr>
       <tr>
         <td align="right">Foto:</td>
         <td><input name="img_full" type="file" size="32" /></td>
       </tr>
       <tr>
         <td align="right">Digite uma descrião para a foto:</td>
         <td> <textarea name="descricao" cols="35" rows="2"> </td>
       </tr>
       <tr>
         <td align="right">   </td>
         <td> <input type="submit" value="Concluir" /> </td>
       </tr>
     </table>
   </form>

 

O que recebe é o recebe.php que está assim:

<?php  

  $dir = $_POST['diretorio'];
  
  $dir_original = $dir;
	  $caractere = array(",", "/", "*", "|", "!", ":", ";", ",", ".", "?", "@", "#", "$", "%", "&", "(", ")", " ", "+", "=", "§", "{", "}", "[", "]", "º", "ª");
	  $troca_caractere = array("_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_", "_");
	  $dir_correto = str_replace($caractere, $troca_caractere, $dir_original);   
  
  $dir_sub = 'd:/xampp/htdocs/lasttesteup/imagens/'.$dir_correto.'/thumbs';

  if(mkdir($dir_sub, 0777, true)){
	echo "Diretório criado com sucesso.";
  }else{
	echo "Não foi possível criar o diretório.";  
  }	
 
  
  $gera_string = substr( md5( uniqid( microtime())), 0, 28);
// Usando uma classe, cria duas imagens com base na que foi carragada e salva nos diretórios.
  $imagem_tmp = $_FILES['img_full']['tmp_name'];
	$imagem = new creation;
	$imagem->create( $imagem_tmp, 100, 100, 'imagens/'.$dir_correto.'/thumbs/'. $gera_string .'.thumb.jpg');
	$imagem->create( $imagem_tmp, 640, 480, 'imagens/'.$dir_correto.'/'. $gera_string .'.jpg');   
	
	$nome_dir = $dir_correto;
	$caminho_img = 'imagens/'.$nome_dir.'/';
	
  $grava_no_bd = sprintf("INSERT INTO galeria (img_album, img_full, img_thumb, img_descricao, img_caminho) VALUES (%s, %s, %s, %s, %s)",//Antes de gravar no banco, a função verifica  e retorna um valor seguro e apropriado.
  pega_valor($_POST['diretorio'], "text"),
  pega_valor($gera_string . '.jpg', "text"), 
  pega_valor($gera_string . '.thumb.jpg', "text"),
  pega_valor($_POST['descricao'], "text"),
  pega_valor($caminho_img, "text"));
  
   mysql_select_db($banco_nome, $conexao_bd);
   $pronto = mysql_query($grava_no_bd, $conexao_bd);
	  if (!$pronto) {
	  echo "Erro do banco de dados, não foi possível consultar o banco de dados\n";
	  echo 'Erro MySQL: ' . mysql_error();
	  exit;
}  
  
 header("Location: index.php");

?>

Obs. Ele está funcionando belezinha, mas eu quero que o formulário envie uns cinco campos

mais ou menos assim:

<form action="recebe.php" enctype="multipart/form-data" method="post">
     <table align="center">
       <tr>
         <td align="right">Foto:</td>
         <td><input name="img_full[]" type="file" size="32" /></td>
       </tr>
       <tr>
         <td align="right">Digite uma descrião para a foto:</td>
         <td> <textarea name="descricao[]" cols="35" rows="2"></textarea></td>
       </tr>
       <tr>
         <td align="right">Foto:</td>
         <td><input name="img_full[]" type="file" size="32" /></td>
       </tr>
       <tr>
         <td align="right">Digite uma descrião para a foto:</td>
         <td> <textarea name="descricao[]" cols="35" rows="2"></textarea></td>
       </tr>
       <tr>
         <td align="right">Foto:</td>
         <td><input name="img_full[]" type="file" size="32" /></td>
       </tr>
       <tr>
         <td align="right">Digite uma descrião para a foto:</td>
         <td> <textarea name="descricao[]" cols="35" rows="2"></textarea></td>
       </tr>
       <tr>
         <td align="right">Foto:</td>
         <td><input name="img_full[]" type="file" size="32" /></td>
       </tr>
       <tr>
         <td align="right">Digite uma descrião para a foto:</td>
         <td> <textarea name="descricao[]" cols="35" rows="2"></textarea></td>
       </tr>
       <tr>
         <td align="right">Foto:</td>
         <td><input name="img_full[]" type="file" size="32" /></td>
       </tr>
       <tr>
         <td align="right">Digite uma descrião para a foto:</td>
         <td> <textarea name="descricao[]" cols="35" rows="2"></textarea></td>
       </tr>
       <tr>
         <td align="right">   </td>
         <td> <input type="submit" value="Concluir" /> </td>
       </tr>
     </table>      

   </form>

 

O problema é que eu não estou conseguindo manipular os dados e criar um loop.

Eu quero que ele faça exatamente o que já faz, mas com vários dados de uma vez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use um for.

 

for($i = 0; $i < count($_POST['img_full']; $i++ )
{
//.. código para upload e inserção no banco..
// você vai acessar cada imagem por: $_POST['img_full'][$i]

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.