Ir para conteúdo

POWERED BY:

Arquivado

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

S t o n e

upload de imagens

Recommended Posts

Olá galera, baixei o script de upload de imagens do Fabyo,

o script é muito bom, mas estou com um probleminha para implementa-lo,

eu tenho a opcao de novo item e a opcao de alterar,

 

if($acao == "gravarincluir"){

mysql_query("INSERT into portfolio values(null, '$titulo', '$sub_titulo', '$desenvolvimento', '$link', '$nome_thumb', '$nome_foto')");

}

if($acao == "gravaralterar"){

mysql_query("UPDATE portfolio set por_titulo = '$titulo', por_sub_titulo = '$sub_titulo', por_link = '$link', por_desenvolvimento = '$desenvolvimento', por_thumb = '$nome_thumb', por_foto = '$nome_foto' where por_codigo = '$id' ");

}

Mas, toda vez que eu for alterar, eu tenho que inserir a imagem denovo, não teria alguma maneira de se o campo imagem estiver vazio ele apenas não fazer o insert no bd? ja tentei fazer isso sim, mas em algum lugar no script do fabyo ele faz a verificação do form e ainda não descobri qual é... acho que é por ai:

 

function Verifica_Upload()

{

$this->arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;

if(!is_uploaded_file($this->arquivo['tmp_name'])) {

return false;

}

$get = getimagesize($this->arquivo['tmp_name']);

 

if($get["mime"] != "image/jpeg")

{

echo "<span style=\"color: white; border: solid 1px; background: red;\">Esse foto nao é uma imagem valida</span>";

exit;

}

return true;

}

 

function Envia_Arquivo()

{

if($this->Verifica_Upload()) {

$this->gera_fotos();

return true;

} else {

echo "<span style=\"color: white; border: solid 1px; background: red;\">".$this->erro[$this->arquivo['error']]."</span>";

}

}

 

ai o link do tópico dele

http://forum.imasters.com.br/index.php?showtopic=164120

 

Agradeço desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Stone.

 

Se o campo no bd estiver fazio você simplesmente vai enviar a imagem como se estiver alterando sem problemas

 

Faça um if caso exista a imagem:

 

1) Verificar se existe imagem

2) Pegar no nome da imagem e apagar ela do diretorio onde esta

3) Upload da nova imagem

4) Update na tabela com o nome da nova imagem

 

compreendeu?

 

No caso de que ja exita o registro na tabela nao faz diferença INSERT ou UPDATE a informação vai funcionar da mesma forma. ok

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, para mais informações acesse o manual:

 

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://www.php.net/unlink

Compartilhar este post


Link para o post
Compartilhar em outros sites

bah não concegui fazer.. tem como explicar um pouco melhor?

 

o problema está no passo 3, não concigo fazer gravar a imagem novamente sem fazer upload, eu teria que pegar o nome no banco, deletar do diretorio, fazer a variavel receber o nome que estava no banco e inserir? ..

 

:(

Compartilhar este post


Link para o post
Compartilhar em outros sites

function Verifica_Upload()

{

$this->arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;

if(!is_uploaded_file($this->arquivo['tmp_name'])) {

return false;

}

$get = getimagesize($this->arquivo['tmp_name']);

 

if($get["mime"] != "image/jpeg")

{

echo "<span style=\"color: white; border: solid 1px; background: red;\">Esse foto nao é uma imagem valida</span>";

exit;

}

return true;

}

 

function Envia_Arquivo()

{

if($this->Verifica_Upload()) {

$this->gera_fotos();

return true;

} else {

echo "<span style=\"color: white; border: solid 1px; background: red;\">".$this->erro[$this->arquivo['error']]."</span>";

}

}

/*---------------------------GRAVAR NO BD!------------------------*/

$titulo = $_POST['titulo'];

$sub_titulo = $_POST['sub_titulo'];

$desenvolvimento = $_POST['desenvolvimento'];

$link = $_POST['link'];

 

include("conn.php");

 

$acao = $_GET['acao'];

$id = $_GET['id'];

 

if($acao == "gravarincluir"){

mysql_query("INSERT into portfolio values(null, '$titulo', '$sub_titulo', '$desenvolvimento', '$link', '$nome_thumb', '$nome_foto')");

}

if($acao == "gravaralterar"){

mysql_query("UPDATE portfolio set por_titulo = '$titulo', por_sub_titulo = '$sub_titulo', por_link = '$link', por_desenvolvimento = '$desenvolvimento', por_thumb = '$nome_thumb', por_foto = '$nome_foto' where por_codigo = '$id' ");

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguém poderia me explicar essa parte do código?

 

function gera_fotos()

{

$diretorio = "../css/imagens/fotos_sites/";

if(!file_exists($diretorio))

{

mkdir($diretorio);

}

 

$nome_foto = "imagem_".time().".jpg";

$nome_thumb = "thumb_".time().".jpg";

 

//determino uma resolução maxima e se a imagem for maior ela sera reduzida

reduz_imagem($this->arquivo['tmp_name'], 800, 700, $diretorio.$nome_foto);

//passo o tamanho da thumbnail

reduz_imagem($this->arquivo['tmp_name'], 160, 150, $diretorio.$nome_thumb);

echo "<span style=\"color: white; border: solid 1px; background: blue;\">".$this->erro[$this->arquivo['error']]."</span>";

Não entendi muito bem as últimas linhas

 

Obrigado.

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.