Jump to content


Photo

Problemas Com Update De Imagens


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

#1 manutcomp

manutcomp

    Novato no fórum

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

Posted 28/05/2005, 19:11

Alo pessoal!

Estou com um problema que nao sei como resolver, pois é coisa nova pra mim nao tenho nenhum exemplo de como proceder. Eu tenho um site onde tenho fotos postadas por usuarios, com descrição etc etc...e quero colocar no arq "alterar dados", a opção de se substitur as fotos postadas, caso seja o desejo dos usuarios. Tentei fazer simplesmente fazendo assim:


<?

include "conexao.php";


$sql = "UPDATE posts SET foto1 = '$foto1' WHERE id LIKE '$id' AND categoria = '$categoria'";
mysql_query($sql);
?>



O arq que envia a foto para substitur é:

<html>
<table width="82%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="21%">
Foto 1:</td>
<td width="79%"><input name="foto1" type="file" id="foto1"></td>
</tr>
<tr>
<td>
======== etc ====== Há mais 5 campos file até o botão enviar ===========
</table>
</html>


Qundo envio a foto com o caminho especificado, ao invés de carrega-lo para o Banco de Dados aparece sempre isso:
C:apachephpphpC3.TMP
Já enviei para o servidor web e o resultado é semelhante.



Depois tentei fazer assim:

<?
if($foto_name != "") {
@copy("$foto" , "imagens/fotos/$foto_name")
or die("Arquivo não enviado.");
} else {
# die("Arquivo não especificado");
}
$sql = "UPDATE posts SET foto1 = '$foto1' WHERE id LIKE '$id' AND categoria = '$categoria'";
mysql_query($sql);
?>

O resultado foi o mesmo, só que troca o nome do TMP.


Por favor, alguem poste aí um exemplo de uma atualização de fotos simples, pra eu ver como exemplo e corrigir o erro.

Valeu!! (y)

#2 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 28/05/2005, 19:15

Você cria o arquivo com um nome:

@copy("$foto" , "imagens/fotos/$foto_name")

e grava no BD outro:

$sql = "UPDATE posts SET foto1 = '$foto1' WHERE id LIKE '$id' AND categoria = '$categoria'";

Qual a lógica disso?
Klaus Paiva
Conheça também: Taperás

#3 manutcomp

manutcomp

    Novato no fórum

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

Posted 29/05/2005, 01:52

Desdulpe,,errei na hora de postar......mas valeu assim mesmo....

@copy("$foto" , "imagens/fotos/$foto")

$sql = "UPDATE posts SET foto1 = '$foto' WHERE id LIKE '$id' AND categoria = '$categoria'";


Não consigo fazer a gravação do caminho da imagem a ser substituída....

Só aparece no BD o formato C:apachephpphp...TMP ....

Quem puder dar uma luz..um simples exemplo....muito grato.

Edição feita por: manutcomp, 29/05/2005, 01:59.


#4 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 29/05/2005, 07:29

Velhinho, você está gravando o nome temporário do upload. Faça a busca por upload e entenda como se faz um upload...
Klaus Paiva
Conheça também: Taperás

#5 manutcomp

manutcomp

    Novato no fórum

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

Posted 29/05/2005, 11:46

Ai Eu sei que estou mandando o temporário..."Óbvio Ululante"..Queria ver como resolver isso/// UPLOAD está funcionando..só queria aprender a ALTERAR (UPDATE) a foto que já tenha sido carregada no Banco de Dados. E qto a busca, eu sempre a uso...mas qdo nao encontro.....

Mas valeu assim mesmo!! (y)

Edição feita por: manutcomp, 29/05/2005, 11:54.


#6 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 29/05/2005, 12:56

Você está passando o ID pelo form ou pela URL??

<?

if ($foto_name) {

    $destino = "imagens/fotos/{$foto_name}";
    @copy($foto , $destino) or die("Arquivo não enviado.");

    $sql = "UPDATE posts
                SET foto1 = '$destino'
                WHERE id = '$id'";
       
    mysql_query($sql) OR die(mysql_error());

} else {

    echo "Sem arquivo..";
   
}

?>


Vê assim..
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#7 manutcomp

manutcomp

    Novato no fórum

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

Posted 29/05/2005, 14:57

Alo grato pela resposta!

Eu to passando pela URL:

tipo:
http://localhost/imo...artamento&id=11


Fiz pelo exemplo que vc postou e infelizmente dá arquivo nao enviado.

No meu config.php ta assim:

$local = "http://localhost/fotos/";


Teria que colocar ele no script certo? tipö:

<?
if ($foto) {

$destino = "$local/imagens/fotos/{$foto}"; //nao sei se tá certo a sintaxe,,creio que nao
@copy($foto, $destino) or die("Arquivo não enviado.");

$sql = "UPDATE galeria SET foto1 = '$destino' WHERE categoria = '$categoria' and id = '$id'";
mysql_query($sql) OR die(mysql_error());

} else {

echo "Sem arquivo..";

}

?>

Valeu + uma vez

Edição feita por: manutcomp, 29/05/2005, 15:05.


#8 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 29/05/2005, 15:05

Em:
$destino = "$local/imagens/fotos/{$foto}";

Você deve definir o caminho apartir do arquivo que está sendo executado, ou então o caminho completo.

Se esse script estiver rodando na pasta raiz, e você quer que a imagem vá para a o dir /imagens/fotos/ deixe assim:

<?

if ($foto_name) {

    $destino = "imagens/fotos/{$foto_name}";
    @copy($foto , $destino) or die("Arquivo não enviado.");

    $sql = "UPDATE posts
                SET foto1 = '$destino'
                WHERE id = '$id'";

    mysql_query($sql) OR die(mysql_error());

} else {

    echo "Sem arquivo..";

}

?>


Você tem que definir o caminho corretamente aí amigo.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#9 manutcomp

manutcomp

    Novato no fórum

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

Posted 29/05/2005, 17:48

(y)

Consegui resolver!!....ufa!!

Mas é assim mesmo, errando é que se aprende!!

.infelizmente aqui no fórum e em outros mais, não encontrei a resposta em nenhum tópico. Se alguém estiver com este mesmo tipo de problema, e' so me contactar via MSN ou postar aqui.!!

Ate breve e muito grato àqueles que tentaram me ajudar.

MSN: classisite@hotmail.com




1 user(s) are reading this topic

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

IPB Skin By Virteq