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


Moderador: web

 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Upload de Imagens sem Array

12-03-2010 16:24

Fala pessoal,

Estou tentando há dias fazer um sistema de upload de imagens sem array mas não vai de maneira nenhuma, a primeira imagem até chega a ser enviado, porém da segunda em diante não funciona...

Vou colocar os códigos simplificados aqui:
index.php
<form method='post' action='envia.php' enctype='multipart/form-data'> Alterar Logo:<br><input type='file' name='logo'><br> Alterar imagem #01:<br><input type='file' name='img1'><br>

envia.php
<?php $dir = "img/img/"; //Verificando se o campo contem arquivo if ($logo!="") { //Obtendo info. dos arquivos $logo_name = $_FILES['logo']['name']; $logo_tmp = $_FILES['logo']['tmp_name']; $logo_type = $_FILES['logo']['type']; //Pegando o nome $logo_name_new = sha1($logo_name.$unico); $logo_rename = $logo_name_new.".jpg"; //Movendo arquivo's do upload $up1 = move_uploaded_file($logo_tmp, $dir.$logo_rename); //Status if ($up1=true) { echo "<i>Enviado</i>- $logo_rename<br>"; } else { echo "<font color='$ff0000'><i>Falhou!</i></font><br>"; } } //Verificando se o campo contem arquivo if (!$img2) { //Obtendo info. dos arquivos $img2_name = $_FILES['img2']['name']; $img2_tmp = $_FILES['img2']['tmp_name']; $img2_type = $_FILES['img2']['type']; //Pegando o nome $img2_name_new = sha1($img2_name.$unico); $img2_rename = $img2_name_new.".jpg"; //Movendo arquivo's do upload $up2 = move_uploaded_file($img2_tmp, $dir.$img2_rename); //Status if ($up2=true) { echo "<i>Enviado</i>- $img2_rename<br>"; } else { echo "<font color='$ff0000'><i>Falhou!</i></font><br>"; } } ?>

Lembrando que esse é o código simplificado a página é muito mais complexa... Outro detalhe é que serão 6 imagens, um logotipo e 5 imagens cuja o nome será img1, img2... img5

Não encontro uma solução de jeito nenhum!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
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 de Imagens sem Array

12-03-2010 16:30

Porque não usa array? É o melhor método.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Upload de Imagens sem Array

12-03-2010 16:40

Então web, é porque assim, vamos supôr que a pessoa tem o logotipo, img1, img2 e img3 e quer só atualizar a img1 e img3... Acredito que com array não é possível fazer isso!

Por isso estou querendo sem array, porque o usuário poderá alterar tanto todas as imagens como somente a imagem 5 por exemplo!

=/

Se com array tiver essa possibilidade, seria perfeito pra mim! :)

Mas não sei como fazê-la! =/
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
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 de Imagens sem Array

12-03-2010 16:47

Esse editar é como?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Upload de Imagens sem Array

12-03-2010 16:50

web, vou tentar explicar:

- o usuário tem um painel onde ele pode colocar 6 imagens... o caminho para essas imagens fica gravado em um BD para ser exibido no site... se ele atualizar apenas a imagem 4 por exemplo, as outras imagens se apagariam correto? é +/- isso...

Quero que o script envie as imagens que o usuário quer, e atualize-as no BD, mas acontece é que ele poderá escolher apenas a imagem 5 para atualizar e isso faria com que a imagem 5 ficasse no lugar do logotipo correto?

Eu estou iniciando em programação, por isso não sei muitas coisas! =/
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
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 de Imagens sem Array

12-03-2010 18:02

Vamos supor que o cara tem 2 fotos. Ai você tem uma consulta que retorna tipo assim:

<img src="foto1.jpg"> <input type="file" name="foto1"> <input type="hidden" name="foto1" value="foto1.jpg"> <img src="foto2.jpg"> <input type="file" name="foto2"> <input type="hidden" name="foto1" value="foto2.jpg">

Se o cara enviar uma foto no file foto1, você vai ter uma verificação, se foto1 for diferente de vazio, atualiza. A mesma coisa para o foto2.

Dá uma estudada no script abaixo que pode te dar uma idéia.
http://www.codigosnaweb.com/forum/Uploa ... _1279.html
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Upload de Imagens sem Array

16-03-2010 13:03

Fala Kleber, então, não deu certo, ou melhor, não sei fazer funcionar (ou não entendi muito bem)... Vou tentar te explicar melhor ainda...

O cara tem um painel e haverá as 5 imagens dele:

painel.php
Alterar imagem #01:<br><input type='file' name='file[]'><br> Alterar imagem #02:<br><input type='file' name='file[]'><br>[color=#0000FF] Alterar imagem #03:<br><input type='file' name='file[]'><br>[/color] Alterar imagem #04:<br><input type='file' name='file[]'><br>[color=#0000FF] Alterar imagem #05:<br><input type='file' name='file[]'><br>[/color]

Só que quando ele apenas envia a Imagem #03 e a Imagem#05 por exemplo, o script entende que ele está enviando a Imagem #01 e Imagem #02

Quero que o script entenda que ele está enviando mesmo a imagem #03 e #05! Como fazer isso? Por isso havia dito que seria melhor sem Array, mas não sei se há essa possibilidade! =/

Um grande abraço!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
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 de Imagens sem Array

16-03-2010 14:22

Dá uma olhada nesse exemplo, primeiro passo os dados como array, depois extraio e adiciono como índices no array[]

Nesse echo no final do script estão os arrays, valores separados, se não foi enviado naquele input, fica vazio o array, caso contrário preenchido com o valor.

<form action="teste.php" method="POST"> <input type="text" name="array[]" value=""> <input type="text" name="array[]" value=""> <input type="text" name="array[]" value=""> <input type="submit"> </form> <?php if($_POST) { extract($_POST); $i = 0; $imagem = Array(); foreach($array AS $valor) { $i++; if($valor=="") { $imagem[] = ""; } else { $imagem[] = $valor; } } echo $imagem[0].$imagem[1].$imagem[2]; } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Upload de Imagens sem Array

16-03-2010 14:55

Estou tentando de todas as maneiras, mas eu não sei onde posso estar errando! =/

O meu script que enva a imagem é o seguinte:
<?php //Diretório onde ficará os arquivos $dir = "img/img/"; //Extensoes permitidas $ext = array("jpg"); $campos = 6; if(isset($_POST['go']) && $_POST['go'] == 'go') { //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]; $name_new = sha1($name.$unico); $rename = "$name_new.jpg"; //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 "<h1>Atualizar...</h1><br><br>"; } $matriz[] = $rename; //Movendo arquivo's do upload $up = move_uploaded_file($f_tmp[$i], $dir.$rename); //Status if ($up==true): $cont++; else: echo "<font color='#ff0000'><i>Falhou!</i></font><br>"; endif; } } ?>

Eu não sei onde eu coloco o código que você postou:
<?php extract($_POST); $i = 0; $imagem = Array(); foreach($file AS $valor) { $i++; ?>

Lembrando que a quantia de imagens é um campo que pergunta para o usuário quantas imagens novas ele está enviando... Algo para evitar que seja enviada imagens de maneira incorreta ok?!

Precido de um super help... Obrigado mesmo pela ajuda Kléber!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
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 de Imagens sem Array

16-03-2010 15:09

Testou o script que mandei acima?

No script a pessoa tem 3 imagens. Note que no final tem 3 índices, $imagem[0], $imagem[1] e $imagem[2], se você colocar um if, tipo, se imagem[0] for diferente de vazio, envia e faz o update no campo da imagem 1, a mesma base para as outras.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Upload de Imagens sem Array

16-03-2010 15:14

Me desculpa Kleber, eu não havia descido a barra de rolagem no seu código e por isso não ía funcionar de jeito nenhum mesmo!

:P

Mas eu ainda não testei... Estou tentando testar diretamente com o meu script, posto aqui qualquer coisa... Muito obrigado heim! ;)

Abraçosssss
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
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 de Imagens sem Array

16-03-2010 15:16

Flw
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Upload de Imagens sem Array

16-03-2010 15:59

Fala Kléber... Eu novamente... Testei o seu script e não havia dado certo para o que eu queria... Mechendo aqui e ali alterei o seguinte trecho:

if($valor=="") {
$imagem[] = "";
} else {
$imagem[] = $valor;
}

Para:

if($array=="") {
$imagem[] = "";
} else {
$imagem[] = $valor;
}

Aí sim funcionou corretamente... Agora vou tentar testar no meu script pra ver se funciona certinho... =)
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17743
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 de Imagens sem Array

16-03-2010 17:11

$array no exemplo que passei é relativo ao nome dos inputs. Ele não pode ser usado dessa forma se não tiver sido passado um array.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

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