Jump to content


Photo

Duvida Ao Mover Arquivo


  • Faça o login para participar
2 replies to this topic

#1 carlos12

carlos12

    Turista

  • Usuários
  • 26 posts
  • Sexo:Não informado

Posted 27/05/2008, 15:49

Pessoal estou com um problema peguei esse codgo que pra mim está sob-medida, mas não estou conseguindo ele mover a imagem pra pasta certa e nem gravar no BD mysql, alguém poderia me ajudar? Preciso muito!!!
?>    </select>    <br />    <br />        Qual a quantidade de imagens do Evento?<br />    <br />      <input type="text" name="quantidade" size="5"/>  &nbsp;&nbsp;  <input type="submit" value="OK" name="a"/>  <br />  </p></form><?if(isset($_POST['a'])){$Quantidade = (isset($_POST['quantidade']) && is_int(intval($_POST['quantidade']))) ? (int)$_POST['quantidade'] : 5; // Abre formulário de upload echo '<form action="teste.php" method="POST" enctype="multipart/form-data">'; // Imprime os campos para upload, de acordo com a quantidade pedida for($i = 1; $i <= $Quantidade; ++$i) {     echo 'Foto #' . $i . ': <input type="file" name="fotos[]" /><br/>'; } echo '<br /><input type="submit" value="OK" name="b"/>'; echo '</form>';}?>

caso os campos sejam criados ao clicar em submit ele ira pra tela teste.php onde eu gostaria de mover o arquivo pra pasta do servidor e salvar os nomes das imagens no BD.

O codgo correto é:

<body>
<form action="" method="post">
  <p>Qual a quantidade de imagens do Evento?<br />
	  <br />
	  <input type="text" name="quantidade" size="5"/>
	&nbsp;&nbsp;
	<input type="submit" value="OK" name="a"/>
	<br />
  </p>
</form>
<?
if(isset($_POST['a'])){
$Quantidade = (isset($_POST['quantidade']) && is_int(intval($_POST['quantidade']))) ? (int)$_POST['quantidade'] : 5; 
// Abre formulário de upload 
echo '<form action="teste.php" method="POST" enctype="multipart/form-data">'; 
// Imprime os campos para upload, de acordo com a quantidade pedida 
for($i = 1; $i <= $Quantidade; ++$i) 
{ 
	echo 'Foto #' . $i . ': <input type="file" name="fotos[]" /><br/>'; 
} 
echo '<br /><input type="submit" value="OK" name="b"/>'; 
echo '</form>';
}
?>
</p>

</body>

Edição feita por: boirock, 27/05/2008, 15:54.
Uso de [code]


#2 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 27/05/2008, 15:55

Mas como assim?
Onde está o código que envia para o servidor?
O que você quer dizer com código correto? O código anterior é o que?

#3 JoinTek

JoinTek

    24 Horas

  • Usuários
  • 454 posts
  • Sexo:Masculino
  • Localidade:Santarém, PA

Posted 28/05/2008, 08:06

Acho que entendi mais ou menos o que você quer fazer.

teste.php
<?
	$pastaDestino = "fotos/"; //Pasta para onde as fotos vão
	$vaLoop = "0"; //Contador de Imagens que foram enviadas com sucesso
	
	for ($i=0; $i<count($fotos); $i++) {
		//Somente se o campo não estiver vazio...
		if ($fotos[$i]) {
			$novoNome = uniqid("foto").".jpg"; //Evita nomes duplicados..
			if (copy($fotos[$i], $pastaDestino.$novoNome)) { //Copia para a pasta
				$vaLoop++; //Adiciona +1 ao contador de arquivos enviados com sucesso
				mysql_query("INSERT INTO `tabela` VALUES (Null, '".$novoNome."')"); //Cadastra no banco de dados
			}
		}
	}
	//Exibe o numero de arquivos enviados com sucesso
	if ($vaLoop == count($fotos)) {
		echo "<hr><p align='center'>Todos os arquivos foram enviados com sucesso.</p><hr>";
	} else {
		echo "<hr><p align='center'>Apenas <b>".$vaLoop."</b> dos ".count($fotos)." arquivos foram enviados com sucesso</p><hr>";
	}
?>
A barra no final do conteudo da variavel $pastaDestino é necessária, se não vai ocorrer um erro.


[]'s

Edição feita por: JoinTek, 28/05/2008, 08:15.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq