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

Upload De Arquivos Para Pasta E Dados Para O Mysql


Zero Cool

Pergunta

A muito tempo estava a procura de como fazer este sistema e agora que consegui compartilhos ele com vocês

Tabela : FOTOS

CREATE TABLE `fotos` (
  `Id` varchar(15) NOT NULL,
  `foto` varchar(50) NOT NULL,
  UNIQUE KEY `Id` (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Este script serve para quem tem um sistema de login e quer colocar fotos para os usuarios necessario: servidor php editor de html/php - bloco de notas - Dremweaver ..... conhecimento minimo de php requerido sistema de login (de prefereça o gerado pelo Dreamweaver{por causa dos nomes das variaveis de sessão}) pasta (no exemplo = fotos) dentro do ditretorio onde salvara os proximos 2 arquivos O arquivo SET.PHP é responsavel pelo upload da foto e inserçao do nome de usuario logado e o path da foto na tabela foto do MySQl,verificação do aquivo enviar
<?php require('Connections/teste.php'); ?>
<?php
if (!isset($_SESSION)) {
  session_start();
}
?>

<?php
$colname_cfoto_rs = "-1";
if (isset($_SESSION['MM_Username'])) {
  $colname_cfoto_rs = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username'] : addslashes($_SESSION['MM_Username']);
}
mysql_select_db($database_teste, $teste);
$query_cfoto_rs = sprintf("SELECT * FROM fotos WHERE Id = '%s'", $colname_cfoto_rs);
$cfoto_rs = mysql_query($query_cfoto_rs, $teste) or die(mysql_error());
$row_cfoto_rs = mysql_fetch_assoc($cfoto_rs);
$totalRows_cfoto_rs = mysql_num_rows($cfoto_rs);
?>
<?php // upload/validação da foto e upload do path para a tabela 
$erro = $config = array();

// Prepara a variável do arquivo
$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;

// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 100000000;
// Largura máxima (pixels)
$config["largura"] = 100000000;
// Altura máxima (pixels)
$config["altura"]  = 10000000;

// Formulário postado... executa as ações
if($arquivo)
{  
    // Verifica se o mime-type do arquivo é de imagem
    if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp|jpg|png)$", $arquivo["type"]))
    {
        $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, 
            bmp, gif ou png. Envie outro arquivo";
    }
    else
    {
        // Verifica tamanho do arquivo
        if($arquivo["size"] > $config["tamanho"])
        {
            $erro[] = "Arquivo em tamanho muito grande! 
        A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. 
        Envie outro arquivo";
        }
        
        // Para verificar as dimensões da imagem
        $tamanhos = getimagesize($arquivo["tmp_name"]);
        
        // Verifica largura
        if($tamanhos[0] > $config["largura"])
        {
            $erro[] = "Largura da imagem não deve 
                ultrapassar " . $config["largura"] . " pixels";
        }

        // Verifica altura
        if($tamanhos[1] > $config["altura"])
        {
            $erro[] = "Altura da imagem não deve 
                ultrapassar " . $config["altura"] . " pixels";
        }
    }
    
    // Imprime as mensagens de erro
    if(sizeof($erro))
    {
        foreach($erro as $err)
        {
            echo " - " . $err . "<BR>";
        }

            }

    // Verificação de dados OK, nenhum erro ocorrido, executa então o upload...
    else
    {
        // Pega extensão do arquivo
        preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);

        // Gera um nome único para a imagem
        $imagem_nome = md5(uniqid(time())) . "." . $ext[1];

        // Caminho de onde a imagem ficará
        $imagem_dir = "fotos/" . $imagem_nome;
        
        //usuario a ser inserido no bd
        $usuariologado = $_SESSION['MM_Username'];
        
        // insere no banco de dados
  $insertSQL = sprintf("INSERT INTO fotos(Id, foto) VALUES ('$usuariologado', '$imagem_nome')");

  mysql_select_db($database_teste, $teste);
  $Result1 = mysql_query($insertSQL, $teste) or die(mysql_error());

       // Faz o upload da imagem
        move_uploaded_file($arquivo["tmp_name"], $imagem_dir);

        echo "Sua foto foi enviada com sucesso!";
        echo "<meta http-equiv='refresh' content='1' />";
        
}
}
 // atualização/validação da foto e upload do path para a tabela 
$erro = $config = array();

// Prepara a variável do arquivo
$arquivo = isset($_FILES["foto2"]) ? $_FILES["foto2"] : FALSE;

// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 100000000;
// Largura máxima (pixels)
$config["largura"] = 100000000;
// Altura máxima (pixels)
$config["altura"]  = 10000000;

// Formulário postado... executa as ações
if($arquivo)
{  
    // Verifica se o mime-type do arquivo é de imagem
    if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp|jpg|png)$", $arquivo["type"]))
    {
        $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, 
            bmp, gif ou png. Envie outro arquivo";
    }
    else
    {
        // Verifica tamanho do arquivo
        if($arquivo["size"] > $config["tamanho"])
        {
            $erro[] = "Arquivo em tamanho muito grande! 
        A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. 
        Envie outro arquivo";
        }
        
        // Para verificar as dimensões da imagem
        $tamanhos = getimagesize($arquivo["tmp_name"]);
        
        // Verifica largura
        if($tamanhos[0] > $config["largura"])
        {
            $erro[] = "Largura da imagem não deve 
                ultrapassar " . $config["largura"] . " pixels";
        }

        // Verifica altura
        if($tamanhos[1] > $config["altura"])
        {
            $erro[] = "Altura da imagem não deve 
                ultrapassar " . $config["altura"] . " pixels";
        }
    }
    
    // Imprime as mensagens de erro
    if(sizeof($erro))
    {
        foreach($erro as $err)
        {
            echo " - " . $err . "<br />";
        }

            }

    // Verificação de dados OK, nenhum erro ocorrido, executa então o upload...
    else
    {
        // Pega extensão do arquivo
        preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);

        // Gera um nome único para a imagem
        $imagem_nome = $row_cfoto_rs['foto'];

        // Caminho de onde a imagem ficará
        $imagem_dir = "fotos/" . $imagem_nome;
        
        // Faz o upload da imagem
        move_uploaded_file($arquivo["tmp_name"], $imagem_dir);

        echo "Sua foto foi atualiza com sucesso!";
        echo "<meta http-equiv='refresh' content='1' />";
        
}
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
#Layer1 {
    position:absolute;
    z-index:4;
    left: 10px;
    top: 49px;
    background-color: #FF9900;
}
#Layer2 {
    position:absolute;
    width:386px;
    height:300px;
    z-index:2;
    left: 351px;
    top: 37px;

}
#Layer3 {
    position:absolute;
    width:324px;
    height:188px;
    z-index:3;
    left: 10px;
    top: 180px;
}
#Layer4 {
position:absolute;
    width:237px;
    height:67px;
    z-index:1;
    left: 10px;
    top: 49px;
    background-image:url(/eteca/fotos/fundo1.gif);
}
-->
</style>
</head>

<body>
<?php if ($totalRows_cfoto_rs == 0) { // Show if recordset empty ?>
  <div id="Layer1">
    <form  method="post"  enctype="multipart/form-data" name="uploadform">
  <input type="file" name="foto"><br /> 
  <input type="submit" value="Enviar Foto!">
  </form>
  </div> 
  <?php } // Show if recordset empty ?>
  <div id="Layer2"></div>
  <?php if ($totalRows_cfoto_rs > 0) { // Show if recordset not empty ?>
  <div id="Layer3">
    <p>Foto atual : <img src="fotos/<?php echo $row_cfoto_rs['foto']; ?>" /> </p>
    <p>Atualizar foto :</p>
     <form  method="post"  enctype="multipart/form-data" name="uploadform2">
       <input type="file" name="foto2"><br /> 
       <input type="submit" value="Enviar Foto!">
    </form>
    <p><a href="deletar.php?foto=<?php echo $row_cfoto_rs['foto']; ?>">Deletar foto </a></p>
    <p> </p>
  </div>
    <?php } // Show if recordset not empty ?>
    <div id="Layer4"></div>
</body>
</html>
<?php
mysql_free_result($cfoto_rs);
?>
O SET.PHP alem de fazer o upload serve tambem para atualizar a foto e lincar para o arquivo que deleta a foto do bd e da pasta ele verifica c a tabela foto contem um campo com Id= Nome de usuario do sistema de login = ao usuario logado o momento c sim ele mostra a foto dese usuario um formulario para mudar a foto e um link para deletar a foto cao o usuario logado não tenha nenhum dado na tabela foto ele mostra o formulario de upload que envia a foto pro servidor e insere no bd o nome de usuario e o path da foto a foto vai para a pasta e para o bd com um nome uniko gerado pela função md5(uniqid(time())) que gera um arquivo uniko em no minimo 10 milhões :blink: o link deletar foto é um link para pagina deletar.php com a variavel foto= path da foto já é possivel testar seu sistema de upload foto ira para pasta Fotos e tabela vai ter id = usuario logado e path do arquivo com a extensão Esse arquivo esta configurado para só aceitar arquivos de img caso queira que o upload seja de videos ou outros arquivos : Procure por
// Verifica se o mime-type do arquivo é de imagem if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp|jpg|png)$", $arquivo["type"]))
e
// Pega extensão do arquivo preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name], $ext);
mude o gif , png, jpeg, .... para os arquivos desejados como por exemplo: paginas de web html|php|htm|php3|asp|cfm|js|jsp|etc videos asf|wmv|vid|vob|rmvb|.... o arquivo DELETAR.php
<?php require('Connections/teste.php'); 
?>
<?php
 if (!isset($_SESSION)) {
  session_start();
}
?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

if ((isset($_SESSION['MM_Username'])) && ($_SESSION['MM_Username'] != "")) {
  $deleteSQL = sprintf("DELETE FROM fotos WHERE Id=%s",
                       GetSQLValueString($_SESSION['MM_Username'], "text"));

  mysql_select_db($database_teste, $teste);
  $Result1 = mysql_query($deleteSQL, $teste) or die(mysql_error());

  $deleteGoTo = "set.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
    $deleteGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $deleteGoTo));
}


?>
<?php
$colname_cfoto_rs = "-1";
if (isset($_SESSION['MM_Username'])) {
  $colname_cfoto_rs = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username] : addslashes($_SESSION['MM_Username']);
}
mysql_select_db($database_teste, $teste);
$query_cfoto_rs = sprintf("SELECT * FROM fotos WHERE Id = '%s'", $colname_cfoto_rs);
$cfoto_rs = mysql_query($query_cfoto_rs, $teste) or die(mysql_error());
$row_cfoto_rs = mysql_fetch_assoc($cfoto_rs);
$totalRows_cfoto_rs = mysql_num_rows($cfoto_rs);

?><?php 
$foto = $_GET['foto']; 
unlink("fotos/$foto");
?>
<?php
mysql_free_result($cfoto_rs);
?>

O arquivo deletar.php

deleta a foto utilizando a função do C

unlink("caminhodafoto/$foto");

a variavel $foto é a que é passada pelo link da pagina set.php lembram-se?

o deletar.php vai apagar a foto no diretorio fotos e deletar da tabela o Id e o path WHERE foto=caminho

fazendo com que dá proxima vez que o usuario entrar na pagina set.php ele veja a area de upload e não a de atualizar.

Editado por Zero Cool
Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

  • 0
Guest --neves --

:rolleyes: Ola!

Zero Cool, eu estou com dificuldade com o arquivo <?php require('Connections/teste.php'); ?>

Já tentei de tudo...a tabla mo Mysql ta legal, funcionando.

você pode me ajudar?

Fiz assim:

<?php

// Conecta-se com o MySQL

mysql_connect("localhost", "root", "ricardo");

// Seleciona banco de dados

mysql_select_db("database_teste");

?>

eu consgigo conectar, já fiz o teste, \cho que estou com dificuldades nestes trechos:

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Arquivos de programas\xampp\htdocs\Upload_fotos2\set.php on line 13

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Arquivos de programas\xampp\htdocs\Upload_fotos2\set.php on line 15

Vlw.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --neves --

:D Olá Zero Coll! beleza?

Funcionou direitinho cara, so tem um probleminha agora, so aparece o formulário para eu enviar a foto.

Não aparece o atualizar e deletar fotos.

Pode me ajuadar mais uma vez?

Abração.

Link para o comentário
Compartilhar em outros sites

  • 0

c manja de php não é? ?

para atualizar você só precisa

resgatar os dados do banco de dados com SELECT

ai pra mostrar a img

você pega

<img src="pasta/<?php echo $linha_sql['foto'];?>" />

pra atualizar é só você fazer um formulario igual ao pra enviar, mais no php você tera q fazer um update ao invés de insert

e pra deletar usa a função unlink() para deletar a foto e DELETE (claro q junto d um WHERE pra não deletar todos os dados) no sql pra deletar os dados do banco

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --neves --

<_< Pow amigo, voutentar fazer aqui e depois te falo.

Se não me engano, este formulário para deletar e atualizar aparece no Dreamweaver no arquovo set.php...ele não aparece no browser entende. :blush:

Vou tentar...ainda estou aprendendo php, sei o básicão.

Vlw.

Link para o comentário
Compartilhar em outros sites

  • 0

sahuashasuashasu

foi mal agora q vi, faz tempo q fiz o tópico

pra aparecer o campo de atualizar você tem q ter mandado a foto e ela tem q estar no banco de dados também

a pagina de deletar você consegue acessar e deletar a foto ?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --neves --

Fla ae amigo Zero Cool!

Cara é isso, faz tempo mesmo, mas eu gostei deste seu exemplo, eu quero q tdo funcione...e conto c a seu ajuda.

Vou tentar ser o mais claro possível.

Tdo funciona direitinho, eu consigo enviar a foto, o arquivo da foto (sua extesnão) aparece lá no banco de dados bonitinhoe também aparece lá na pasta fotos, beleza.

O minha dúvida é que no set.php so aparece o formulário pequeno, procurar foto e enviar foto...saca?

Lá DreamWeaver no Design da pag set.php, aprece o Foto atual : Atualizar foto :Deletar foto , lá no browser não.

Veja este trecho, aprece o form em verde somente:

.

.

.

.

<body>

<?php if ($totalRows_cfoto_rs == 0) { // Show if recordset empty ?>

<div id="Layer1">

<form method="post" enctype="multipart/form-data" name="uploadform">

<input type="file" name="foto" />

<br />

<input type="submit" value="Enviar Foto!">

</form> <?php

// Imprime link de logout

echo " <a href=\"login.html\">Sair do Sistema</a>";

echo "<br><br>\n";

?>

</div>

<?php } // Show if recordset empty ?>

<div id="Layer2"></div>

<?php if ($totalRows_cfoto_rs > 0) { // Show if recordset not empty ?>

<div id="Layer3">

<p>Foto atual : <img src="fotos/<?php echo $row_cfoto_rs['foto']; ?>" /> </p>

<p>Atualizar foto :</p>

<form method=post" enctype="multipart/form-data" name="uploadform2">

<input type="file" name="foto2"><br />

<input type="submit" value="Enviar Foto!">

</form>

<p><a href="deletar.php?foto=<?php echo $row_cfoto_rs['foto]; ?>">Deletar foto </a></p>

<p> </p>

</div>

<?php } // Show if recordset not empty ?>

<div id="Layer4"></div>

</body>

</html>

<?php

mysql_free_result($cfoto_rs);

?>

So lembrando amigao, so não conseguí ainda oque aparecça o form para deletar! e ae sim, aparecendo é que eu vou testar o leletar fotos.

Me ajuda amigo :( . Espero ter sido claro.

Abraçãooo

Link para o comentário
Compartilhar em outros sites

  • 0

na pagina set.php a foto aparece ?

ou isso também não ?

você mudo o nome da variavel q tem o mysql_num_rows,

a q é responsavel por saber c tem alguma foto dakele usuario no banco de dados ?

porque c nem o campo pra atualizar, nem a foto e nem o link de deletar aparecem é porque você deve ter mudado as variaveis do SQL q verifica

é essa parte aki

$query_cfoto_rs = sprintf("SELECT * FROM fotos WHERE Id = '%s'", $colname_cfoto_rs);
$cfoto_rs = mysql_query($query_cfoto_rs, $teste) or die(mysql_error());
$row_cfoto_rs = mysql_fetch_assoc($cfoto_rs);
$totalRows_cfoto_rs = mysql_num_rows($cfoto_rs);

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --neves --

:D Obrigado por ter respondido.

Seguinte: este parte do cógigo eu não mudei nada.

Não aparece campo atualizar, nem deletar e nem a foto atual.

Lembrando mais um vez, a foto tanto é carregada na pasta foto, quanto no Db.

Eu criei um bco de dados chamado "database_teste" e a tabela "fotos".

Vou fazer o seguinte, estou postando como está o meu código ok?

Ae eu coloco avisando entre parênteses o que eu mudei, vlw?

set.php

<?php require('teste.php'); ?>
<?php
if (!isset($_SESSION)) {
  session_start();
}
?>

<?php
$colname_cfoto_rs = "-1";
if (isset($_SESSION['MM_Username'])) {
  $colname_cfoto_rs = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username'] : addslashes($_SESSION['MM_Username']);
}
mysql_select_db("database_teste", $teste);  ( mudei aqui o meu DB q se chama databae_teste)

$query_cfoto_rs = sprintf("SELECT * FROM fotos WHERE Id = '%s'", $colname_cfoto_rs);
$cfoto_rs = mysql_query($query_cfoto_rs, $teste) or die(mysql_error());
$row_cfoto_rs = mysql_fetch_assoc($cfoto_rs);
$totalRows_cfoto_rs = mysql_num_rows($cfoto_rs);
?>
<?php // upload/validação da foto e upload do path para a tabela 
$erro = $config = array();

// Prepara a variável do arquivo
$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;

// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 100000000;
// Largura máxima (pixels)
$config["largura"] = 100000000;
// Altura máxima (pixels)
$config["altura"]  = 10000000;

// Formulário postado... executa as ações
if($arquivo)
{  
    // Verifica se o mime-type do arquivo é de imagem
    if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp|jpg|png)$", $arquivo["type"]))
    {
        $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, 
            bmp, gif ou png. Envie outro arquivo";
    }
    else
    {
        // Verifica tamanho do arquivo
        if($arquivo["size"] > $config["tamanho"])
        {
            $erro[] = "Arquivo em tamanho muito grande! 
        A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. 
        Envie outro arquivo";
        }
        
        // Para verificar as dimensões da imagem
        $tamanhos = getimagesize($arquivo["tmp_name"]);
        
        // Verifica largura
        if($tamanhos[0] > $config["largura"])
        {
            $erro[] = "Largura da imagem não deve 
                ultrapassar " . $config["largura"] . " pixels";
        }

        // Verifica altura
        if($tamanhos[1] > $config["altura"])
        {
            $erro[] = "Altura da imagem não deve 
                ultrapassar " . $config["altura"] . " pixels";
        }
    }
    
    // Imprime as mensagens de erro
    if(sizeof($erro))
    {
        foreach($erro as $err)
        {
            echo " - " . $err . "<BR>";
        }

            }

    // Verificação de dados OK, nenhum erro ocorrido, executa então o upload...
    else
    {
        // Pega extensão do arquivo
        preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);

        // Gera um nome único para a imagem
        $imagem_nome = md5(uniqid(time())) . "." . $ext[1];

        // Caminho de onde a imagem ficará
        $imagem_dir = "../Upload_fotos2/fotos/" . $imagem_nome;
        
        //usuario a ser inserido no bd
        $usuariologado = $_SESSION['MM_Username'];
        
        // insere no banco de dados
  $insertSQL = sprintf("INSERT INTO fotos(Id, foto) VALUES ('$usuariologado', '$imagem_nome')");

  mysql_select_db("database_teste", $teste);
  $Result1 = mysql_query($insertSQL, $teste) or die(mysql_error());

       // Faz o upload da imagem
        move_uploaded_file($arquivo["tmp_name"], $imagem_dir);

        echo "Sua foto foi enviada com sucesso!";
        echo "<meta http-equiv='refresh' content='1' />";
        
}
}
// atualização/validação da foto e upload do path para a tabela 
$erro = $config = array();

// Prepara a variável do arquivo
$arquivo = isset($_FILES["foto2"]) ? $_FILES["foto2"] : FALSE;

// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 100000000;
// Largura máxima (pixels)
$config["largura"] = 100000000;
// Altura máxima (pixels)
$config["altura"]  = 10000000;

// Formulário postado... executa as ações
if($arquivo)
{  
    // Verifica se o mime-type do arquivo é de imagem
    if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp|jpg|png)$", $arquivo["type"]))
    {
        $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, 
            bmp, gif ou png. Envie outro arquivo";
    }
    else
    {
        // Verifica tamanho do arquivo
        if($arquivo["size"] > $config["tamanho"])
        {
            $erro[] = "Arquivo em tamanho muito grande! 
        A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. 
        Envie outro arquivo";
        }
        
        // Para verificar as dimensões da imagem
        $tamanhos = getimagesize($arquivo["tmp_name"]);
        
        // Verifica largura
        if($tamanhos[0] > $config["largura"])
        {
            $erro[] = "Largura da imagem não deve 
                ultrapassar " . $config["largura"] . " pixels";
        }

        // Verifica altura
        if($tamanhos[1] > $config["altura"])
        {
            $erro[] = "Altura da imagem não deve 
                ultrapassar " . $config["altura"] . " pixels";
        }
    }
    
    // Imprime as mensagens de erro
    if(sizeof($erro))
    {
        foreach($erro as $err)
        {
            echo " - " . $err . "<br />";
        }

            }

    // Verificação de dados OK, nenhum erro ocorrido, executa então o upload...
    else
    {
        // Pega extensão do arquivo
        preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);

        // Gera um nome único para a imagem
        $imagem_nome = $row_cfoto_rs['foto'];

        // Caminho de onde a imagem ficará
        $imagem_dir = "fotos/" . $imagem_nome;
        
        // Faz o upload da imagem
        move_uploaded_file($arquivo["tmp_name"], $imagem_dir);

        echo "Sua foto foi atualiza com sucesso!";
        echo "<meta http-equiv='refresh' content='1' />";
        
}
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>UpLoad_fotos2</title>
<style type="text/css">
<!--
#Layer1 {
    position:absolute;
    z-index:4;
    left: 10px;
    top: 49px;
    background-color: #FF9900;
}
#Layer2 {
    position:absolute;
    width:386px;
    height:300px;
    z-index:2;
    left: 373px;
    top: 44px;

}
#Layer3 {
    position:absolute;
    width:324px;
    height:188px;
    z-index:3;
    left: 10px;
    top: 180px;
}
#Layer4 {
position:absolute;
    width:237px;
    height:67px;
    z-index:1;
    left: 10px;
    top: 49px;
    background-image:url(/eteca/fotos/fundo1.gif);
}
-->
</style>
</head>

<body>
<?php if ($totalRows_cfoto_rs == 0) { // Show if recordset empty ?>
  <div id="Layer1">
    <form  method="post"  enctype="multipart/form-data" name="uploadform">
    <input type="file" name="foto" />
    <br /> 
  <input type="submit" value="Enviar Foto!">
  </form>

  </div> 
  <?php } // Show if recordset empty ?>
  <div id="Layer2"></div>
  <?php if ($totalRows_cfoto_rs > 0) { // Show if recordset not empty ?>
  <div id="Layer3">
    <p>Foto atual : <img src="../Upload_fotos2/fotos/<?php echo $row_cfoto_rs['foto']; ?>" /> </p>
    <p>Atualizar foto :</p>
     <form  method="post"  enctype="multipart/form-data" name="uploadform2">
       <input type="file" name="foto2"><br /> 
       <input type="submit" value="Enviar Foto!">
    </form>
    <p><a href="deletar.php?foto=<?php echo $row_cfoto_rs['foto']; ?>">Deletar foto </a></p>
    <p> </p>
    
  </div>
    <?php } // Show if recordset not empty ?>
    <div id="Layer4"></div>
</body>
</html>
<?php
mysql_free_result($cfoto_rs);
?>
delete.php
<?php require('teste.php'); 
?>
<?php
if (!isset($_SESSION)) {
  session_start();
}
?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

if ((isset($_SESSION['MM_Username'])) && ($_SESSION['MM_Username'] != "")) {
  $deleteSQL = sprintf("DELETE FROM fotos WHERE Id=%s",
                       GetSQLValueString($_SESSION['MM_Username'], "text"));

  mysql_select_db("database_teste", $teste);
  $Result1 = mysql_query($deleteSQL, $teste) or die(mysql_error());

  $deleteGoTo = "set.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
    $deleteGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $deleteGoTo));
}


?>
<?php
$colname_cfoto_rs = "-1";
if (isset($_SESSION['MM_Username'])) {
  $colname_cfoto_rs = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username'] : addslashes($_SESSION['MM_Username']);
}
mysql_select_db("database_teste", $teste);     (mudei aqui o par o meu banco de dados)
$query_cfoto_rs = sprintf("SELECT * FROM fotos WHERE Id = '%s'", $colname_cfoto_rs);
$cfoto_rs = mysql_query($query_cfoto_rs, $teste) or die(mysql_error());
$row_cfoto_rs = mysql_fetch_assoc($cfoto_rs);
$totalRows_cfoto_rs = mysql_num_rows($cfoto_rs);

?>
<?php 
$foto = $_GET['foto']; 
unlink("../Upload_fotos2/fotos/$foto");  ( e aqui o caminho onde estão as fotos)
?>
<?php
mysql_free_result($cfoto_rs);
?>
e este arquivo aqui <?php require('teste.php'); ?> onde eu criei a conexão com o DB.
<?php
// Conecta-se com o MySQL
$teste = mysql_connect("localhost", "root", "chuva");

// Seleciona banco de dados

mysql_select_db("database_teste" , $teste);


?>

Amigo, você pode me explicar melhor esta parte e estas variáveis?

O erro pode estar qui...quem sabe?

<?php

$colname_cfoto_rs = "-1";

if (isset($_SESSION['MM_Username'])) {

$colname_cfoto_rs = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username'] : addslashes($_SESSION['MM_Username']);

}

mysql_select_db("database_teste", $teste);

$query_cfoto_rs = sprintf("SELECT * FROM fotos WHERE Id = '%s'", $colname_cfoto_rs);

$cfoto_rs = mysql_query($query_cfoto_rs, $teste) or die(mysql_error());

$row_cfoto_rs = mysql_fetch_assoc($cfoto_rs);

$totalRows_cfoto_rs = mysql_num_rows($cfoto_rs);?>

Link para o comentário
Compartilhar em outros sites

  • 0

$_SESSION['MM_Username']

e o nome da sessão

no banco de dados

ta salvando o caminho da foto certo ?

verifique também c esta salvando o nome de usaurio

c não estiver é porque a sessão MM_Username esta nula, na hora d fazer o upload

a outra parte tem vermelho é a responsavel por resgatar os dados do banco de dados, onde o campo Id na tabela tenha o mesmo valor da variavel de Sessão MM_Username

WHERE Id = '%s'", $colname_cfoto_rs);

faz um sisteminha basico de login

e a sessão q quardara o login você poe MM_Username

ou então só pra teste mesmo

na propria pagina set.php você poe

$_SESSION['MM_Username] = "teste";

logo apos

if (!isset($_SESSION)) {

session_start();

}

c não funcionar mesmo assim não sei o q pode estar acontecendo

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --neves --

Vlw Zero Cool! obrigado cara, vou tentar fazer aqui.

Vara, pintou outra dúvida aqui.

Desculpe a burrice, mas eu segui o seu exemplo, e na tabela fotos como no seu ex, não contém nome de usuário.

nome de usuário.

Ae eu fiz uma outra tabela para o login entende, assim:

CREATE TABLE `aut_usuarios` (

`id` int(11) NOT NULL auto_increment,

`nome` varchar(60) NOT NULL default '',

`login` varchar(40) NOT NULL default '',

`senha` varchar(40) NOT NULL default '',

`postar` enum('S','N') NOT NULL default 'S',

PRIMARY KEY (`id`)

) TYPE=MyISAM AUTO_INCREMENT=3 ;

login.html

<HTML>
<HEAD><TITLE>Sistema de Autenticação :: Login</TITLE></HEAD>
<BODY>
<form action="login_vai.php" method="post">
Sistema Autenticação .<BR>
Login: <input type="text" name="login"><br>
Senha: <input type="password" name="senha"><br>
<input type="submit" value="OK!">
</form>
</BODY></HTML>
login_vai.php
<?php
// Conexão com o banco de dados
require "teste.php";

// Inicia sessões
session_start();

// Recupera o login
$login = isset($_POST["login"]) ? addslashes(trim($_POST["login"])) : FALSE;
// Recupera a senha, a criptografando em MD5
$senha = isset($_POST["senha"]) ? md5(trim($_POST["senha"])) : FALSE;

// Usuário não forneceu a senha ou o login
if(!$login || !$senha)
{
    echo "Você deve digitar sua senha e login!";
    exit;
}

/**
* Executa a consulta no banco de dados.
* Caso o número de linhas retornadas seja 1 o login é válido,
* caso 0, inválido.
*/
$SQL = "SELECT id, login, senha, postar, nome
        FROM aut_usuarios
        WHERE login = '" . $login . "'";
$result_id = @mysql_query($SQL) or die("Erro no banco de dados!");
$total = @mysql_num_rows($result_id);

// Caso o usuário tenha digitado um login válido o número de linhas será 1..
if($total)
{
    // Obtém os dados do usuário, para poder verificar a senha e passar os demais dados para a sessão
    $dados = @mysql_fetch_array($result_id);

    // Agora verifica a senha
    if(!strcmp($senha, $dados["senha"]))
    {
        // TUDO OK! Agora, passa os dados para a sessão e redireciona o usuário
        $_SESSION["id"]   = $dados["id"];
        $_SESSION["nome"] = stripslashes($dados["nome"]);
        $_SESSION["permissao"]    = $dados["postar"];
        header("Location: set.php");
        exit;
    }
    // Senha inválida
    else
    {
        echo "Senha inválida!";
        exit;
    }
}
// Login inválido
else
{
    echo "O login fornecido por você é inexistente!";
    exit;
}
?>

Amigo por acaso você tem este exemplo ae guardado e funcionando?...rs

Pow me envia.

Mais uma vez brigadaooo.

Abç.

Link para o comentário
Compartilhar em outros sites

  • 0

muda isso no seu sistema de login:

$_SESSION["nome"]

para

$_SESSION["MM_Username"]

ai vai funcionar :D

esse sistema q postei

eu fiz ele a um tempão quando ainda estava aprendendo PHP,

tnt q mtu coisa foi feita pelo DreamWeaver ¬¬

o q eu tenho aki esta totalmente diferente, já q o q estou fazendo agora

tem o uso d JavaScript

ai o codigo d upload,atualização e deletar esta tudo num uniko arquivo dentro de uma classe

ai axo q vai piorar pra você q ainda esta aprendendo PHP

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --neves --

Poxa amigo, já tentei de tdo e nada! :(

Continua e incluir a foto na pasta "fotos" e no banco de dados, masnão aparece o foto atual e deletar foto.

Bom, vou tentar mais uma vez.Se tiver uma luz...

Obrigado e vlw.

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...