Ir para conteúdo

POWERED BY:

Arquivado

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

marcosfj1

[Resolvido] Enviar array para o banco

Recommended Posts

Galera eu acho q minha duvida deve ser simples, é que tenho mto problema em trabalhar com array.

Seguinte, tenho q enviar para o banco 2 arrays um com o nome da foto, e o outro com o q eu digitei:

 

O Form:

<tr>
     <td valign="top" width="30%" align="right">Nome 1</td>
     <td align="left"><input name="nome[]" size="40" id="nome[]" type="text" /></td>
   </tr>
   <tr>
     <td valign="top" width="30%" align="right">Foto 1</td>
     <td align="left"><input name="imagem[]" size="40" id="imagem[]" type="file" /></td>
   </tr>
<tr>
     <td valign="top" width="30%" align="right">Nome 2</td>
     <td align="left"><input name="nome[]" size="40" id="nome[]" type="text" /></td>
   </tr>
   <tr>
     <td valign="top" width="30%" align="right">Foto 2</td>
     <td align="left"><input name="imagem[]" size="40" id="imagem[]" type="file" /></td>
   </tr>

 

Coloquei só o que importa...ai eu trato estes dados, e faço:

 

for ($i=0; $i<sizeof($_FILES['imagem']['name']); $i++) {

				//
				preg_match("/\.(gif|bmp|swf|png|jpg|jpeg|png){1}$/i", strtolower($_FILES['imagem']['name'][$i]), $ext);	

				//
				if ($ext[0] == '.jpg' or $ext[0] == '.jpeg' or $ext[0] == '.png') {

					//
					$nome = $_POST['nome'];
					$imagem_nome = md5(uniqid(rand(), true)).$ext[0];
					$upload = FTP($_FILES['imagem']['tmp_name'][$i], 'imagem_aparelhos', $imagem_nome, false);

 

Logo apos isso eu insiro as linhas no banco, e esta indo sim, o $imagem_nome vai perfeito como eu quero, porem o $nome que é aquilo q eu digitei, vindo de nome[] vai para o banco assim Array....como eu poderia mudar isso?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

iai kra usa array_combine

link

que vai dar certo vlw

?????????????????????????

 

@marcosfj1, basta você trocar:

$nome = $_POST['nome'];

Por:

$nome = $_POST['nome'][ $i ] 

 

Eu não recomendo esse seu 'tratamento', faça um pathinfo, que fica melhor =), não vejo necessidade de usar RegExp pra isso ..

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

iai kra usa array_combine

link

 

que vai dar certo vlw

 

O amigo agradeco a dica, mas a resposta do Andrey resolveu....eu nao conhecia isso de array-combine,hehe mas eu tbm nao sei nada de array, sempre apanho, depois vou estudar o q você me passou, pra quem sabe aplicar numa situacao futura :)

 

 

@marcosfj1, basta você trocar:

$nome = $_POST['nome'];

Por:

$nome = $_POST['nome'][ $i ] 

 

Eu não recomendo esse seu 'tratamento', faça um pathinfo, que fica melhor =), não vejo necessidade de usar RegExp pra isso ..

 

;)

 

Nossa cara valeu mesmo, deu certo, era bem simples mesmo hehe, este trem de array me quebra as perna sempre hehe

Pq você sugeriu um pathinfo e nao ve a necessidade de RegExp?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque é melhor no que você precisa, olha só:

<?php
   $arquivo = 'arquivo.jpg.php';
   $ext = explode( '.', $arquivo ); // creio que você esteja fazendo um explode, ou split
   echo $ext[ 0 ], ':', $ext[ 1 ], ':', $ext[ 2 ];

 

Saída:

arquivo:jpg:php

 

Perceba como você está capturando a extensão do arquivo ..

Agora, com pathinfo:

 

<?php
  $arquivo = 'arquivo.jpg.php';
  echo pathinfo( $arquivo, PATHINFO_EXTENSION );

 

Saída:

php

 

Quem é $ext, na ER ?

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.