1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Fotos no PHP

Discussão em 'Web Development' iniciada por Tsunamy_boy, 20 de Março de 2008. (Respostas: 17; Visualizações: 1474)

  1. Tsunamy_boy

    Tsunamy_boy Banido

    Gostaria de guardar fotos na minha base de dados (mySql)
    Gostaria de saber qual o tipo de dados do campo "Foto" e o codigo em PHP para a inserir e listar.

    Muito obrigado
     
    Última edição pelo moderador: 22 de Março de 2008
  2. jpdo

    jpdo Power Member

    por acaso tenho a mesma dúvida.
    Se alguém puder ajudar!
     
  3. Tsunamy_boy

    Tsunamy_boy Banido

    looooool quem descobrir primeiro manda ao outro por Mensagem privada....ta bom?
    Abraço
     
  4. Tsunamy_boy

    Tsunamy_boy Banido

    O que eu tenho é uma pasta onde são guardadas as fotos e na base de dados o link para elas.
    mas isto é pouco pratico...
     
  5. MACkie

    MACkie [email protected] Member

    Mas sejamos sinceros: Mais vale fazer backup de uma base de dados e de 10gigas de ficheiros do que fazer backup de uma base de dados de 10GB :x

    Mas isto sou eu... lol
     
  6. Tsunamy_boy

    Tsunamy_boy Banido

    Quem vai fazer o backup nao vou ser eu vao ser os tipos que me vao alojar o site
     
  7. DanielGomes

    DanielGomes Power Member

    Ficheiros guardados numa pasta. Nome do ficheiro no campo da tabela. Simples.
     
  8. Tsunamy_boy

    Tsunamy_boy Banido

    Pois mas isso eu ja tenho, existe maneira de adicionar foto a um campo da tabela( é que eu sou teimoso tem que dar :001:)nao, mas agora axerio precisava disso
     
    Última edição: 25 de Março de 2008
  9. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

  10. Tsunamy_boy

    Tsunamy_boy Banido

    Brigadão já agora sabes o que significa isto:
    LBL_IMAGE->setPixmap(QPixmap::fromImage(image));
    Para que serve o "->" é uma duvida que tenho a muito.
     
  11. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Isso é um PHP orientado a objectos. Se ainda não conheces o paradigma, vai ser difícil perceberes isso.
    Em resumo, há uma classe:
    PHP:
    class qualquercoisa {
     
    $qualquervariavel "abc";
     function 
    funcao($isto$aquilo) {
      
    // faz coisas
     
    }
    }
    que por si só é inútil. Mas podes criar uma instância de um objecto baseado nessa classe:
    PHP:
    $Objecto = new qualquercoisa;
    e agora tens a instância do objecto "$Objecto" criada.
    Podes agora alterar a variável $qualquervariavel desse objecto específico
    PHP:
    $Objecto->qualquervariavel "cba";
    Ou, se preferires, chamas a função que essa classe tem
    PHP:
    $Objecto->funcao("a""b");
    Mas se não tiveres nenhuma instância desse objecto, podes chamar a função automaticamente a partir do nome da classe:
    PHP:
    qualquercoisa::funcao("a""b");
    Isto provavelmente é chinês para ti :x mas expliquei o melhor que consegui.

    LBL_IMAGE->setPixmap(QPixmap::fromImage(image));

    "LBL_IMAGE->setPixmap(": chamou a função "setPixmap" do objecto "LBL_IMAGE", passando como parâmetro:
    "QPixmap::fromImage(image)": chamou a função "fromImage" da classe "QPixmap", e passou como parâmetro "image".

    Para aprenderes mais coisas, vai ao Google. Vê isto, que me pareceu útil: http://www.devarticles.com/c/a/PHP/Object-Oriented-Programming-in-PHP/
     
  12. DanielGomes

    DanielGomes Power Member

    O "->" serve para acederes às propriedades (variáveis) ou métodos (funções) dentro de um objecto. Outras linguagens usam "." para o efeito.
     
  13. Tsunamy_boy

    Tsunamy_boy Banido

    funciona como acederes a uma variavel ou função dentro de uma class.... é basicamente isto correcto?
     
  14. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Subtilezas.
    Para acederes a uma variável ou função de uma classe usas o "::".
    O "->" serve para acederes a uma variável ou função de um objecto, que seja uma instância de uma classe.
    Como disse,
    PHP:
    classe::função(parâmetros)
    ou
    PHP:
    $objecto = new classe;
    $objecto->função(parâmetros)
     
  15. candycane

    candycane Power Member

    Pra não subcarregar a BD utiliza apenas o nome do ficheiro das imagens.

    Por ex:
    crias um atributo imagem do tipo text em que ai só pões o nome das imagens e o formato(imagem.jpg)

    depois crias uma pasta onde vao estar os ficheiros das imagens.

    No php para inserir fazes assim:

    PHP:
    $caminho "imagens/";
    $filename $_FILES['imagem']['name'];

    if(
    is_uploaded_file($_FILES['imagem']['tmp_name']))
    {
         
    move_uploaded_file($_FILES['imagem']['tmp_name'],$caminho $filename);
         
    $inserir mysql_query("INSERT INTO tuaTabela VALUES( teusValores, '$filename')"$ligacao) or die(mysql_error());
                       
    }
    Neste caso o file field do formulario tem o nome imagem, se tivesse o nome img mudavas apenas essas partes:

    $filename = $_FILES['img]['name'];
    $_FILES['img']['tmp_name']


    espero ter ajudado... :)
     
  16. mascker

    mascker Power Member

    hmmmmm

    Não é por uma base de dados ficar pesada que se deve desaconselhar o armazenamento em tabelas.

    O Mysql aguenta com vários TB dependendo do sistema e não existe uma quebra significativa da performance.

    Eu até prefiro fazer o backup de 10 gigas de base de dados do que de ficheiros. Ficheiros serão milhares, base de dados é só uma.

    Não se deve armazenar porque deixas de poder colocar hiperligações directas para a imagem. É por isso.

    Saudações
     
  17. slack_guy

    slack_guy Power Member

    Além dessa razão, se um dia precisar de um ficheiro tem de ter o SGBD funcional e ter forma de questionar a BD e fazer o output no formato correcto... it's a PITA :-)
     

Partilhar esta Página