Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

upload várias fotos não funciona com update

03-11-2010 16:59

Olá, há um script, inclusive eu o postei, creio que no Laboratório de Scripts, que faz o upload de várias fotos ao mesmo tempo, e que está funcionando corretamente quando se faz o insert no banco de dados (a imagem vai para o diretório e o caminho do arquivo vai para o bd). Necessito fazer o update de várias imagens ao mesmo tempo, as imagens estão indo para o diretório, mas o caminho dos arquivos não está indo para o bd: nos campos correspondentes à imagem no bd aparece, em cada um, um número ou letra. Vou postar o código original, com insert, e é possível que me seja dito como faço para que o script funcione com update ao invés de insert? Explico o que desejo fazer: primeiro, faço a inserção de dados, através de formulário próprio; inseridos os dados, sou remetido ao formulário para a inserção de fotos referente ao registro em que se está, o que entendo que deve ser feito com o update, mas não está dando certo:
<?php //Digite o nome do host do seu servidor, geralmente é "localhost". $db_host = "localhost"; //Digite o nome de usuário do banco de dados MYSQL $db_username = "root"; //Digite a senha do banco de dados $db_password = ""; //Digite o nome do banco de dados $db_name = "upload_multiplos_arquivos_29"; //Digite a URL (endereço) principal do site, onde está o arquivo index.php $site_url = "http://localhost/upload_multiplos_arquivos_29"; $connection = mysql_connect($db_host, $db_username, $db_password) or die(mysql_error()); $db = mysql_select_db($db_name, $connection); //para teste, salve o arquivo com o nome index.php //crie uma pasta (diretório) chamada "fotos" //crie um banco de dados chamado "upload_multiplo" //tabela do banco de dados abaixo /* CREATE TABLE fotos ( id int(11) NOT NULL auto_increment, foto1 varchar(255) NOT NULL default '', foto2 varchar(255) NOT NULL default '', foto3 varchar(255) NOT NULL default '', foto4 varchar(255) NOT NULL default '', foto5 varchar(255) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM; */ if(isset($_POST['envio'])) { //Mostra tipos dos arquivos inseridos $VerTipoArquivo1=$_FILES['foto']['type'][0]; $VerTipoArquivo2=$_FILES['foto']['type'][1]; $VerTipoArquivo3=$_FILES['foto']['type'][2]; $VerTipoArquivo4=$_FILES['foto']['type'][3]; $VerTipoArquivo5=$_FILES['foto']['type'][4]; //Mostra tamanho dos arquivos inseridos function tamanho($valor){ $i=0; $tipos = array("&nbsp;B", "&nbsp;KB", "&nbsp;MB", "&nbsp;GB", "&nbsp;TB", "&nbsp;PB", "&nbsp;EB", "&nbsp;ZB", "&nbsp;YB"); while (($valor/1024)>1) { $valor=$valor/1024; $i++; } return substr($valor,0,strpos($valor,'.')+4).$tipos[$i]; } //echo tamanho(filesize("arquivo.jpg")); //Variáveis para informação dos dados dos arquivos inseridos $PreparaVerTamanhoArquivo1=$_FILES['foto']['tmp_name'][0]; $VerTamanhoArquivo1 = tamanho(filesize("$PreparaVerTamanhoArquivo1")); $PreparaVerTamanhoArquivo2=$_FILES['foto']['tmp_name'][1]; $VerTamanhoArquivo2 = tamanho(filesize("$PreparaVerTamanhoArquivo2")); $PreparaVerTamanhoArquivo3=$_FILES['foto']['tmp_name'][2]; $VerTamanhoArquivo3 = tamanho(filesize("$PreparaVerTamanhoArquivo3")); $PreparaVerTamanhoArquivo4=$_FILES['foto']['tmp_name'][3]; $VerTamanhoArquivo4 = tamanho(filesize("$PreparaVerTamanhoArquivo4")); $PreparaVerTamanhoArquivo5=$_FILES['foto']['tmp_name'][4]; $VerTamanhoArquivo5 = tamanho(filesize("$PreparaVerTamanhoArquivo5")); $config = array(); //(a altura da imagem corresponde a 75% da largura. Se for alterar dimensões permitidas, obedeça a este percentual) //largura máxima, em pixels $config["largura"] = 1024; //altura máxima, em pixels $config["altura"] = 768; //campo 1 //Verifica se campo vazio (se vazio, dá erro) if($_FILES['foto']['name'][0]=="") { $MensagemErroImagem .= "Insira uma foto no campo 1!<br>"; } //Verifica se tamanho da imagem menor que 50 KB (se maior, dá erro) elseif($_FILES['foto']['size'][0] > "51200") { $MensagemErroImagem .= "Tamanho excessivo do arquivo ($VerTamanhoArquivo1) no campo 1!<br>"; } //Verifica se arquivo igual a imagem/jpeg (se diferente, dá erro) elseif($_FILES['foto']['type'][0] !="image/jpeg") { $MensagemErroImagem .= "Arquivo inválido ($VerTipoArquivo1) no campo 1!<br>"; } else { if($_FILES['foto']['name'][0]!=""){$tamanho1 = getimagesize($_FILES['foto']['tmp_name'][0]); //Verifica se altura da imagem menor que largura (se maior, dá erro) if($tamanho1[1] > $tamanho1[0]){$MensagemErroImagem .= "Altura ($tamanho1[1] px) da imagem deve ser menor que largura ($tamanho1[0] px) no campo 1!<br>";} //Verifica se largura da imagem menor que a permitida (se maior, dá erro) if($tamanho1[0] > $config["largura"]){$MensagemErroImagem .= "Largura ($tamanho1[0] px) da imagem maior que a permitida ($config[largura] px) no campo 1!<br>";} //Verifica se altura da imagem menor que a permitida (se maior, dá erro) if($tamanho1[1] > $config["altura"]){$MensagemErroImagem .= "Altura ($tamanho1[1] px) da imagem maior que a permitida ($config[altura] px) no campo 1!<br>";} } } //campo 2 //Verifica se campo vazio (se vazio, dá erro) if($_FILES['foto']['name'][1]=="") { $MensagemErroImagem .= "Insira uma foto no campo 2!<br>"; } //Verifica se tamanho da imagem menor que 50 KB (se maior, dá erro) elseif($_FILES['foto']['size'][1] > "51200") { $MensagemErroImagem .= "Tamanho excessivo do arquivo ($VerTamanhoArquivo2) no campo 2!<br>"; } //Verifica se arquivo igual a imagem/jpeg (se diferente, dá erro) elseif($_FILES['foto']['type'][1] !="image/jpeg") { $MensagemErroImagem .= "Arquivo inválido ($VerTipoArquivo2) no campo 2!<br>"; } else { if($_FILES['foto']['name'][1]!=""){$tamanho2 = getimagesize($_FILES['foto']['tmp_name'][1]); //Verifica se altura da imagem menor que largura (se maior, dá erro) if($tamanho2[1] > $tamanho2[0]){$MensagemErroImagem .= "Altura ($tamanho2[1] px) da imagem deve ser menor que largura ($tamanho2[0] px) no campo 2!<br>";} //Verifica se largura da imagem menor que a permitida (se maior, dá erro) if($tamanho2[0] > $config["largura"]){$MensagemErroImagem .= "Largura ($tamanho2[0] px) da imagem maior que a permitida ($config[largura] px) no campo 2!<br>";} //Verifica se altura da imagem menor que a permitida (se maior, dá erro) if($tamanho2[1] > $config["altura"]){$MensagemErroImagem .= "Altura ($tamanho2[1] px) da imagem maior que a permitida ($config[altura] px) no campo 2!<br>";} } } //campo 3 //Verifica se campo vazio (se vazio, dá erro) if($_FILES['foto']['name'][2]=="") { $MensagemErroImagem .= "Insira uma foto no campo 3!<br>"; } //Verifica se tamanho da imagem menor que 50 KB (se maior, dá erro) elseif($_FILES['foto']['size'][2] > "51200") { $MensagemErroImagem .= "Tamanho excessivo do arquivo ($VerTamanhoArquivo3) no campo 3!<br>"; } //Verifica se arquivo igual a imagem/jpeg (se diferente, dá erro) elseif($_FILES['foto']['type'][2] !="image/jpeg") { $MensagemErroImagem .= "Arquivo inválido ($VerTipoArquivo3) no campo 3!<br>"; } else{ if($_FILES['foto']['name'][2]!=""){$tamanho3 = getimagesize($_FILES['foto']['tmp_name'][2]); //Verifica se altura da imagem menor que largura (se maior, dá erro) if($tamanho3[1] > $tamanho3[0]){$MensagemErroImagem .= "Altura ($tamanho3[1] px) da imagem deve ser menor que largura ($tamanho3[0] px) no campo 3!<br>";} //Verifica se largura da imagem menor que a permitida (se maior, dá erro) if($tamanho3[0] > $config["largura"]){$MensagemErroImagem .= "Largura ($tamanho3[0] px) da imagem maior que a permitida ($config[largura] px) no campo 3!<br>";} //Verifica se altura da imagem menor que a permitida (se maior, dá erro) if($tamanho3[1] > $config["altura"]){$MensagemErroImagem .= "Altura ($tamanho3[1] px) da imagem maior que a permitida ($config[altura] px) no campo 3!<br>";} } } //campo 4 //Verifica se campo vazio (se vazio, dá erro) if($_FILES['foto']['name'][3]=="") { $MensagemErroImagem .= "Insira uma foto no campo 4!<br>"; } //Verifica se tamanho da imagem menor que 50 KB (se maior, dá erro) elseif($_FILES['foto']['size'][3] > "51200") { $MensagemErroImagem .= "Tamanho excessivo do arquivo ($VerTamanhoArquivo4) no campo 4!<br>"; } //Verifica se arquivo igual a imagem/jpeg (se diferente, dá erro) elseif($_FILES['foto']['type'][3] !="image/jpeg") { $MensagemErroImagem .= "Arquivo inválido ($VerTipoArquivo4) no campo 4!<br>"; } else{ if($_FILES['foto']['name'][3]!=""){$tamanho4 = getimagesize($_FILES['foto']['tmp_name'][3]); //Verifica se altura da imagem menor que largura (se maior, dá erro) if($tamanho4[1] > $tamanho4[0]){$MensagemErroImagem .= "Altura ($tamanho4[1] px) da imagem deve ser menor que largura ($tamanho4[0] px) no campo 4!<br>";} //Verifica se largura da imagem menor que a permitida (se maior, dá erro) if($tamanho4[0] > $config["largura"]){$MensagemErroImagem .= "Largura ($tamanho4[0] px) da imagem maior que a permitida ($config[largura] px) no campo 4!<br>";} //Verifica se altura da imagem menor que a permitida (se maior, dá erro) if($tamanho4[1] > $config["altura"]){$MensagemErroImagem .= "Altura ($tamanho4[1] px) da imagem maior que a permitida ($config[altura] px) no campo 4!<br>";} } } //campo 5 //Verifica se campo vazio (se vazio, dá erro) if($_FILES['foto']['name'][4]=="") { $MensagemErroImagem .= "Insira uma foto no campo 5!<br>"; } //Verifica se tamanho da imagem menor que 50 KB (se maior, dá erro) elseif($_FILES['foto']['size'][4] > "51200") { //Verifica se arquivo igual a imagem/jpeg (se diferente, dá erro) $MensagemErroImagem .= "Tamanho excessivo do arquivo ($VerTamanhoArquivo5) no campo 5!<br>"; } elseif($_FILES['foto']['type'][4] !="image/jpeg") { $MensagemErroImagem .= "Arquivo inválido ($VerTipoArquivo5) no campo 5!<br>"; } else{ //campo 5 if($_FILES['foto']['name'][4]!=""){$tamanho5 = getimagesize($_FILES['foto']['tmp_name'][4]); //Verifica se altura da imagem menor que largura (se maior, dá erro) if($tamanho5[1] > $tamanho5[0]){$MensagemErroImagem .= "Altura ($tamanho5[1] px) da imagem deve ser menor que largura ($tamanho5[0] px) no campo 5!<br>";} //Verifica se largura da imagem menor que a permitida (se maior, dá erro) if($tamanho5[0] > $config["largura"]){$MensagemErroImagem .= "Largura ($tamanho5[0] px) da imagem maior que a permitida ($config[largura] px) no campo 5!<br>";} //Verifica se altura da imagem menor que a permitida (se maior, dá erro) if($tamanho5[1] > $config["altura"]){$MensagemErroImagem .= "Altura ($tamanho5[1] px) da imagem maior que a permitida ($config[altura] px) no campo 5!<br>";} } } //Informa os dados dos arquivos inseridos $Nome1 = $_FILES['foto']['name'][0]; $Nome2 = $_FILES['foto']['name'][1]; $Nome3 = $_FILES['foto']['name'][2]; $Nome4 = $_FILES['foto']['name'][3]; $Nome5 = $_FILES['foto']['name'][4]; if($Nome1 != ""){echo "Inserido no campo 1: arquivo $Nome1, tamanho $VerTamanhoArquivo1.<br>";} if($Nome2 != ""){echo "Inserido no campo 2: arquivo $Nome2, tamanho $VerTamanhoArquivo2.<br>";} if($Nome3 != ""){echo "Inserido no campo 3: arquivo $Nome3, tamanho $VerTamanhoArquivo3.<br>";} if($Nome4 != ""){echo "Inserido no campo 4: arquivo $Nome4, tamanho $VerTamanhoArquivo4.<br>";} if($Nome5 != ""){echo "Inserido no campo 5: arquivo $Nome5, tamanho $VerTamanhoArquivo5.<br>";} //Se tudo ok, faz o upload if($_FILES['foto']['name'][0]!="" //Se campo 1 preenchido && $_FILES['foto']['size'][0]<"51200" //Se arquivo menor que 50 KB no campo 1 && $_FILES['foto']['type'][0]=="image/jpeg" //Se arquivo imagem/jpeg no campo 1 && $_FILES['foto']['name'][1]!="" //Se campo 2 preenchido && $_FILES['foto']['size'][1]<"51200" //Se arquivo menor que 50 KB no campo 2 && $_FILES['foto']['type'][1]=="image/jpeg" //Se arquivo imagem/jpeg no campo 2 && $_FILES['foto']['name'][2]!="" //Se campo 3 preenchido && $_FILES['foto']['size'][2]<"51200" //Se arquivo menor que 50 KB no campo 3 && $_FILES['foto']['type'][2]=="image/jpeg" //Se arquivo imagem/jpeg no campo 3 && $_FILES['foto']['name'][3]!="" //Se campo 4 preenchido && $_FILES['foto']['size'][3]<"51200" //Se arquivo menor que 50 KB no campo 4 && $_FILES['foto']['type'][3]=="image/jpeg" //Se arquivo imagem/jpeg no campo 4 && $_FILES['foto']['name'][4]!="" //Se campo 5 preenchido && $_FILES['foto']['size'][4]<"51200" //Se arquivo menor que 50 KB no campo 5 && $_FILES['foto']['type'][4]=="image/jpeg" //Se arquivo imagem/jpeg no campo 5 && $tamanho1[1] < $tamanho1[0] //Se altura menor que largura no campo 1 && $tamanho2[1] < $tamanho2[0] //Se altura menor que largura no campo 2 && $tamanho3[1] < $tamanho3[0] //Se altura menor que largura no campo 3 && $tamanho4[1] < $tamanho4[0] //Se altura menor que largura no campo 4 && $tamanho5[1] < $tamanho5[0] //Se altura menor que largura no campo 5 && $tamanho1[0] < $config["largura"] //Se largura menor que a máxima no campo 1 && $tamanho2[0] < $config["largura"] //Se largura menor que a máxima no campo 2 && $tamanho3[0] < $config["largura"] //Se largura menor que a máxima no campo 3 && $tamanho4[0] < $config["largura"] //Se largura menor que a máxima no campo 4 && $tamanho5[0] < $config["largura"] //Se largura menor que a máxima no campo 5 && $tamanho1[1] < $config["altura"] //Se altura menor que a máxima no campo 1 && $tamanho2[1] < $config["altura"] //Se altura menor que a máxima no campo 2 && $tamanho3[1] < $config["altura"] //Se altura menor que a máxima no campo 3 && $tamanho4[1] < $config["altura"] //Se altura menor que a máxima no campo 4 && $tamanho5[1] < $config["altura"])//Se altura menor que a máxima no campo 5 { //Diretório de armazenamento das fotos $uploaddir = "fotos/"; $qts = count($_FILES['foto']['name']); $i=1; for($indice=0; $indice < $qts; $indice++){ $uploadfile = $uploaddir.$_FILES['foto']['name'][$indice]; if(move_uploaded_file($_FILES['foto']['tmp_name'][$indice], $uploadfile)) { $imagemC = $uploadfile; $imagemN = $_FILES['foto'][$indice]; $quebra = explode(".",$imagemN); $servertime = time(); //Dados que formam o nome do arquivo $dia = date("d", ($servertime)); //dia do upload $mes = date("m", ($servertime)); //mês do upload $ano = date("y", ($servertime))+2000; //ano do upload $hora = date("H", ($servertime)); //hora do upload $minuto = date("i", ($servertime)); //minuto do upload $segundo = date("s", ($servertime)); //segundo do upload $ip = str_replace(".", "", $_SERVER['REMOTE_ADDR']); //ip da máquina de quem está upando //Forma o nome do arquivo $mini_nome = $dia.$mes.$ano.$hora.$minuto.$segundo.$ip.$i.$quebra[0].".jpg"; $caminho = $uploaddir.$mini_nome; $img = imagecreatefromjpeg($imagemC); //Redimensiona a imagem para medidas padrão (a altura corresponde a 75% da largura) $ThumbImagem = imagecreatetruecolor(640,480); //medida do redimensionamento, se for alterar medidas, altere nesta linha e na de baixo imagecopyresampled($ThumbImagem, $img , 0 , 0 , 0 , 0 , 640 , 480, imagesX( $img ) , imagesY( $img )); imagejpeg($ThumbImagem, $caminho); unlink($uploadfile); $nome[$i]=$mini_nome; $i++; } //fecha if(move_uploaded_file... } //fecha for($indice=0; $indice < $qts; $indice++){ $q1 = "insert into fotos set foto1='$nome[1]', foto2='$nome[2]', foto3='$nome[3]', foto4='$nome[4]', foto5='$nome[5]' "; $r1 = mysql_query($q1) or die(mysql_error()); echo "Upload realizado com sucesso!"; exit; } // fecha if($_FILES['foto']['name'][0]!="" } //fecha if(isset($_POST['envio'])) { //action=\"index.php\" $Cadastra .= "<form name=\"frm_upload\" method=\"post\" enctype=\"multipart/form-data\"> $MensagemErroImagem <table width=\"50%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> <tr><td height=\"40\" colspan=\"2\"> <font face=\"Arial\" size=\"2\"><b> <br> ARQUIVO ACEITO: imagem/jpeg, de altura menor que a largura, largura de até 1024 px, altura de até 768 px, tamanho inferior a 50 KB.<br><br> ACUSADO ERRO NA VALIDAÇÃO DA IMAGEM, TODOS OS CAMPOS DEVERÃO SER PREENCHIDOS NOVAMENTE.<br><br> ENVIAR ARQUIVOS </b></font></td> </tr> <tr> <td height=\"30\" width=\"77%\"> <br> <input type=\"file\" name=\"foto[]\" id=\"foto1\"><br> <input type=\"file\" name=\"foto[]\" id=\"foto2\"><br> <input type=\"file\" name=\"foto[]\" id=\"foto3\"><br> <input type=\"file\" name=\"foto[]\" id=\"foto4\"><br> <input type=\"file\" name=\"foto[]\" id=\"foto5\"><br> </td> </tr> <tr><td height=\"30\" colspan=\"2\"> <input type=\"submit\" name=\"envio\" value=\"Enviar\"> </td></tr> </table> </form>"; ?> <?=$Cadastra?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17616
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

upload várias fotos não funciona com update

03-11-2010 17:07

O que você deve fazer é criar um campo relativo a imagem e ao campo no bd, tipo, marcar um checkbox, ai se ele está marcado, siginifica que aquela foto será alterada, então, o checkbox poderia ter o id da foto, acho assim mais fácil.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1254
Sexo: Masculino

upload várias fotos não funciona com update

04-11-2010 00:10

Obrigado pela dica. Eu encontrei um código que tem o update, e vou tentar adaptar para o meu o que vi nele a respeito do mesmo, para ver ser resolvo o problema. Depois que fizer essa adaptação, vou postar o código original que encontrei, que faz a inserção de múltiplas imagens, e depois o update na alteração, com paginação de resultados. Postarei no Laboratório de Scripts.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17616
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

upload várias fotos não funciona com update

04-11-2010 13:17

Blz.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado