Jump to content


morsoleto

Member Since 13/06/2005
Offline Last Active 30/01/2008, 16:34
-----

Topics I've Started

Problemas Com Upload Multiplo De Imagens

30/01/2008, 15:36

fala pessoal!!

Então tenho uma pagina de upload de imagens em php. Está funcionando, copiando a imagem e jogando onde quero. O problema que tenho é que eu preciso que essas imagens sejam cadastradas no mysql.

No mysql tenho dois campos o "nomefoto" e o "thumbfoto". No meu php tenho dois campos para fazer o upload dos arquivos um tendo que ser a imagem grande e o outro a imagem pequena. Queria que o campo da imagem grande registrasse o nome da imagem no campo nomefoto no mysql e a outra imagem no outro campo.

Até o momeno consegui resgistrar as duas imagens com seu nome, soh que ele ta gravando em ids diferentes e soh no nome foto. To postando o codigo abaixo para vcs etenderem melhor.

Se puderem me ajudar agradeço muito.

valew


<?php

//CONECTA AO BANCO DE DADOS
$conn = mysql_connect("localhost", "root","root") or die("ERRO NA CONEXÃO");

//SELECIONA A BASE DE DADOS A SER UTILIZADA
$db = mysql_select_db("galeria", $conn) or die("ERRO NA SELEÇÃO DA BASE DE DADOS");

//Diretório aonde ficará os arquivos
$dir = "./";

//Extensões permitidas
$ext = array("gif","jpg","png");

//Quant. de campos do tipo FILE
$campos = 6;

//Formulário
echo '<form method="post" action="'.$PHP_SELF.'" enctype="multipart/form-data">
  Foto Grande: <input type="file" name="file[]"><br />
  Miniatura: <input type="file" name="file[]"><br />
   <input type="submit" name="submit" value=" OK ">
  </form>';
 
 
//Se for enviado
if (isset($_POST['submit'])) {

//Obtendo info. dos arquivos
$f_name = $_FILES['file']['name'];
$f_tmp = $_FILES['file']['tmp_name'];
$f_type = $_FILES['file']['type'];


//Contar arquivos enviados
$cont=0;

//Repetindo de acordo com a quantidade de campos FILE
for($i=0;$i<$campos;$i++){

//Pegando o nome
$name = $f_name[$i];

//Verificando se o campo contem arquivo
  if ( ($name!="") and (is_file($f_tmp[$i])) and (in_array(substr($name, -3),$ext)) ) {

	if ($cont==0) {
	  echo "<b>Arquivo(s) enviados:<br /></b>";
	}
	  echo $name." - ";
	  $consulta="INSERT into galfotos (nomefoto) VALUES ('$name')";
	  $con=mysql_query($consulta,$conn) or die (mysql_error());
	  

	  //Movendo arquivo's do upload
	  $up = move_uploaded_file($f_tmp[$i], $dir.$name);

		//Status
		if ($up==true):
			echo  "<i>Enviado!</i>";
			  $cont++;
		else:
			echo "<i>Falhou!</i>";
		endif;

	  echo "<br />";
  }

}

echo ($cont!=0) ? "<br><i>Total de arquivos enviados: </i>".$cont : "Nenhum arquivo foi enviado!";
}
?>

Problemas Na Criação De Xml

21/01/2008, 16:45

ae pessoal, seguinte: tenho um codigo em php que pega os dados do banc mysql e tranforma em xml. Ele ta criando o arquivo certinho, soh que ta dando pau nos dados. Ele entende que existem tres regitros no banco mas ele repete sempre o primeiro, ai ficam tres dados repetidos no xml, entenderam??
Alguem consegue me ajudar??
to postando o codigo abaixo:
[codebox]
<?

//CONECTA AO BANCO DE DADOS
$conn = mysql_connect("localhost", "root","root") or die("ERRO NA CONEXÃO");

//SELECIONA A BASE DE DADOS A SER UTILIZADA
$db = mysql_select_db("galeria", $conn) or die("ERRO NA SELEÇÃO DA BASE DE DADOS");

$query_fotos = "SELECT * FROM galfotos";
$fotos = mysql_query($query_fotos, $conn) or die(mysql_error());
$row_fotos = mysql_fetch_assoc($fotos);
$totalRows_fotos = mysql_num_rows($fotos);

$fotogrande = $row_fotos['nomefoto'];
$thumbfoto = $row_fotos['thumbfoto'];
$descfoto = $row_fotos['titulofoto'];

// gravando o documento XML e encapsulando o resultado na variável $xml
$xml = "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?> ";

// abrindo o nó principal
$xml .= "<imagens>";

// abrindo o while com os dados das fotos, isso delimita cada bloco de informações de fotos com seus respectivos dados(subnós) dentro deste nó

do {

// subnós de informações - nome da foto, thumbnail da foto, título de apresentação da foto
$xml .="<foto>
<fotog>$fotogrande</fotog>
<thumb>$thumbfoto</thumb>
<desc>$descfoto </desc>
</foto>
";

// fechando o while dos dados
} while ($row_fotos = mysql_fetch_assoc($fotos));

// fechando o nó principal
$xml .="</imagens>";

$fp = @fopen('galeria1.xml','w');
if(!$fp) {
die('Não foi possivel abrir o XML');
}
$write = fwrite($fp,$xml);
if(!$write) {
die('Não foi possivel gravar os dados no XML');
}else {
echo "Dados gravados com sucesso no XML galeria1.xml";
echo ($fotogrande);
fclose($fp);
}

mysql_free_result($fotos);

?>
[/codebox]

IPB Skin By Virteq