Ir para conteúdo
Fórum Script Brasil
  • 0

Manipulando arquivos


Andre H.S. Mendes

Pergunta

Olá

tenho o programa:

<?php
include ('../includes/config.php');
include (PATH . '\includes\conectabd.php');

//PEGANDO VALORES
$nome = $_POST['nome'];
$descri = $_POST['descri'];
$valor = $_POST['valor'];

//VERIFICANDO EXTENÇÃO DA IMAGEM
$file = $_FILES['foto'];
$allowedExtensions = array("jpg", "gif");

function isAllowedExtension($fileName) {
  global $allowedExtensions;

  return in_array(end(explode(".", $fileName)), $allowedExtensions);
}

if($file['error'] == UPLOAD_ERR_OK) 
{
    if(isAllowedExtension($file['name'])) 
        {
            //ATUALIZA FOTO PARA O SERVIDOR
            $uploaddir = 'D:\wamp\www\Pedidos Online\admin\produtos\ ';
            $foto = $uploaddir;
            $foto .= "\ ";
            $foto .= $_FILES['foto']['name'];
            $uploadfile = $uploaddir . $_FILES['foto']['name'];
            if (move_uploaded_file($_FILES['foto']['tmp_name'], $uploaddir . $_FILES['foto']['name'])) 
                {
                    $sql = "INSERT INTO produtos VALUES ";
                    $sql .= "(NULL,'$nome','$foto','$descri','$valor')";
                    $resultado = mysql_query($sql) or die(mysql_error());
                    header ("location: add_produtos.php?foi=1");
                } 
                else 
                    {
                        header ("location: add_produtos.php?foi=2");
                    }
        } 
        else 
        {
            header ("location: add_produtos.php?foi=2");
        }
} 
else 
header ("location: add_produtos.php?foi=2");

?>
boa parte eu peguei lendo na documentação do php. script funcionando perfeitamente. agora eu estou em duvida de como adicionar a informação do endereço da foto ao BD mysql. PARTE ONDE SERA ESCRITA AS LINHAS PARA GRAVAR NO BD:
//ATUALIZA FOTO PARA O SERVIDOR
            $uploaddir = 'D:\wamp\www\Pedidos Online\admin\produtos\ ';
            $foto = $uploaddir;
            $foto .= "\ ";
            $foto .= $_FILES['foto']['name'];
            $uploadfile = $uploaddir . $_FILES['foto']['name'];
            if (move_uploaded_file($_FILES['foto']['tmp_name'], $uploaddir . $_FILES['foto']['name'])) 
                {
                    $sql = "INSERT INTO produtos VALUES ";
                    $sql .= "(NULL,'$nome','$foto','$descri','$valor')";
                    $resultado = mysql_query($sql) or die(mysql_error());
                    header ("location: add_produtos.php?foi=1");
                } 
                else 
                    {
                        header ("location: add_produtos.php?foi=2");
                    }

Minha dúvida é a seguinte. Como pegar o caminho do arquivo que eu estou mandando pro servidor?

porque o método que eu to utilizando ali, parece meio gambiarra!! ^^ tanto que pega o local para onde eu mandei errado.

Vou precisar porque numa outra tela gostaria de fazer um painel para adminstrar essas fotos. (excluindo etc)

Editado por Andre H.S. Mendes
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Na boa, desculpa mas é o normal, eu acho... O que tu achas que é gambiarra?

Link para o comentário
Compartilhar em outros sites

  • 0

wanderson

$uploaddir = 'D:\wamp\www\Pedidos Online\admin\produtos\ ';

$foto = $uploaddir;

$foto .= "\ ";

$foto .= $_FILES['foto']['name'];

assim ele não esta gravando os "\" no BD

não tem outro método ou um que grave os" \ " porque ele deve ta pensando que os \ são pra outra coisa ^^

Link para o comentário
Compartilhar em outros sites

  • 0

Ah! Entendi!

É assim... O caracter contra-barra, vulgo raba (barra de trás pra frente) é um char especial no PHP em strings. Como o \n que serve para efetuar uma nova linha ou um \t para uma nova tabulação. Para usar o contra-barra basta colocar:

\\

duas contra-barras, o que é errado pois só vai funcionar no Windows

/

que é tratado tanto no Windows como no Linux

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Opa!

Miniaturas? Já perguntou pro Google?

Mas foi bom tu teres falado que eu tenho que terminar a Classe PIG (Processador de Imagens e Gerenciamento); é uma classe que fiz e vou colocar ela aqui no fórum, como eu estou fazendo com algumas coisas que aprendi...

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...