Ir para conteúdo

POWERED BY:

Arquivado

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

Kahlil Barbosa

Excluir Imagem Pasta Servidor

Recommended Posts

Boa tarde!
Seguinte, fiz um sistema de upload de imagens e texto.
ambos são cadastrados em uma tabela de nome 'ultimos' com o type texto.
Está tudo funcionando perfeitamente, porém na parte da exclusão (um list box o qual seleciono o que foi cadastrado para poder exluir) eu queria que excluisse também a foto da pasta do servidor, e não só a linha específica no banco de dados.

o php do delete tá assim:



<?php
if (isset($_POST['excluir']) && $_POST['excluir'] == 'Excluir') {
	
	    $caminho = "../galeria/";
	    $del = mysql_query("SELECT foto FROM ultimos WHERE id = '$_POST[id]'");
		while($dados = mysql_fetch_object($del)){
        unlink($caminho.$dados->nome);
        }
        $deleta = mysql_query("DELETE FROM ultimos WHERE id = '$_POST[id]'");
       
		
        if ($deleta =='1'){
		echo "Deletado com Sucesso!";
		}else {
			echo "Erro ao deletar!";
		}
}
?>

 

 

ele deleta a "linha" que eu escolhi no listbox (select name=id) porém quanto a exclusão "física" da imagem tenho os seguintes erros:

 

Catchable fatal error: Object of class stdClass could not be converted to string inC:\wamp\easyphp\data\localweb\citrum\admin\painel.php on line 198

 

198 é essa linha unlink($caminho.$dados->nome);

 

 

 

Se alguém puder ajudar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora apareceu

Notice: Undefined property: stdClass::$nome in C:\wamp\easyphp\data\localweb\citrum\admin\painel.php on line 210
NULL Deletado com Sucesso!

Linha 210 é var_dump($dados->nome);

 

 

 

Se eu mudo o diretório de ../galeria/ para ../galeria ele dá erro de permissão



se ajudar, aqui tá meu código inteiro... as vezes o erro tá em algo que eu não postei e não tô conseguindo identificá-lo

 

<div id="painel">

<?php
if (isset($_POST['cadastra']) && $_POST['cadastra'] == 'Enviar') {
	
	$bd = "SELECT id
           FROM ultimos";

    $result = mysql_query($bd)
                          or die (mysql_error());
    if (@mysql_num_rows($result) < 9){
	
	$erro = array();
	// Recupera os dados dos campos
	$link = $_POST['link'];
	$nome = $_POST['nome'];
	$foto = $_FILES["foto"];
 
	// Se a foto estiver sido selecionada
	if (!empty($foto["name"])) {
 
		// Largura máxima em pixels
		$largura = 10000;
		// Altura máxima em pixels
		$altura = 600;
		// Tamanho máximo do arquivo em bytes
		$tamanho = 999999;
 
    	// Verifica se o arquivo é uma imagem
		 if(!preg_match( '/^image\/(gif|bmp|png|jpg|jpeg)+$/', $foto["type"]))
         {
        $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, 
            bmp, gif ou png. Envie outro arquivo";
            
         }
         else
        {
		// Pega as dimensões da imagem
		$dimensoes = getimagesize($foto["tmp_name"]);
 
		// Verifica se a largura da imagem é maior que a largura permitida
		if($dimensoes[0] > $largura) {
			$erro[] = "A largura da imagem não deve ultrapassar ".$largura." pixels";
		}
 
		// Verifica se a altura da imagem é maior que a altura permitida
		if($dimensoes[1] > $altura) {
			$erro[] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
		}
 
		// Verifica se o tamanho da imagem é maior que o tamanho permitido
		if($foto["size"] > $tamanho) {
   		 	$erro[] = "A imagem deve ter no máximo ".$tamanho." bytes";
		}
		}
       if(sizeof($erro))
       {
        foreach($erro as $err)
        {
            echo " - " . $err . "<BR>";
        }

       }
       else {
			// Pega extensão da imagem
			preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);
 
        	// Gera um nome único para a imagem
        	$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
 
        	// Caminho de onde ficará a imagem
        	$caminho_imagem = "../galeria/" . $nome_imagem;
	        }
 
			// Faz o upload da imagem para seu respectivo caminho
			move_uploaded_file($foto["tmp_name"], $caminho_imagem);
 
			// Insere os dados no banco
			$sql = mysql_query("INSERT INTO ultimos VALUES ('', '".$nome."', '".$nome_imagem."', '".$link."')");
 
			// Se os dados forem inseridos com sucesso
			if ($sql){
				echo "Você foi cadastrado com sucesso.";
			} else {
				echo "Erro! O Erro ocorreu no cadastro dos arquivos para o banco.";
		    } 
		}
 
		// Se houver mensagens de erro, exibe-as
	
	    }
		else{

        echo "O Limite de Sites Cadastrados Foi Atingido. Por favor, exclua algum!";

            }
}
?>
<!--?php

if (isset($_POST['excluir']) && $_POST['excluir'] == 'Excluir') {
	
	    $deleta = mysql_query("DELETE FROM ultimos WHERE id = '$_POST[id]'");
        if ($deleta =='1'){
		echo "Deletado com Sucesso!";
		}else {
			echo "Erro ao deletar!";
		}
}
?-->
<?php
if (isset($_POST['excluir']) && $_POST['excluir'] == 'Excluir') {
	
	    $caminho = "../galeria/";
	    $del = mysql_query("SELECT foto FROM ultimos WHERE id = '$_POST[id]'");
		while($dados = mysql_fetch_object($del)){
        unlink($caminho.$dados->nome);
        }
        $deleta = mysql_query("DELETE FROM ultimos WHERE id = '$_POST[id]'");
       
		
        if ($deleta =='1'){
		echo "Deletado com Sucesso!";
		}else {
			echo "Erro ao deletar!";
		}
}
?>


  <form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
    <table width="0" border="0" align="center" cellspacing="0">
      <tr>
        <th colspan="2" align="center" scope="col"><strong>Cadastro Portifólio</strong></th>
        </tr>
      <tr>
        <th scope="row">Nome do Site:</th>
        <td><label>
          <input type="text" name="nome" id="nome" />
        </label></td>
      </tr>
      <tr>
        <th scope="row">Link do Site:</th>
        <td><label>
          <input type="text" name="link" id="link" />
        </label></td>
      </tr>
      <tr>
        <th scope="row">Imagem</th>
        <td><label>
          <input type="file" name="foto" id="foto" />
        </label></td>
      </tr>
      <tr>
        <th scope="row"> </th>
        <td align="right"><label>
        <input type="hidden" name="cadastra" value="add" />
          <input type="submit" name="cadastra" id="cadastra" value="Enviar" />
        </label></td>
      </tr>
    </table>
  </form>
  </div>
  <div id="painel">
<?php
$sql2 = "SELECT id, nome, foto, link FROM ultimos ORDER BY id";
$resultado2 = mysql_query($sql2)
             or die (mysql_error());

if (@mysql_num_rows($resultado2) == 0)
               echo("Sem Resultados");
?>
  <form id="form2" name="form2" method="post" action="" enctype="multipart/form-data">
  <table border="0" align="center">
   <tr>
   <td><label>
  <select name="id">
    <option value="-1">Selecione o Portifólio</option>
   
<?php
while ($lista=mysql_fetch_array($resultado2)) {
$id = $lista[0];
$nome = $lista[1];
$foto = $lista[2];

?>   
    <option value="<?php echo $id; ?>"><?php echo $nome; ?></option>
  
<?php
}
?>
  </select>
  </label>
  </td>
  <td>
  <input type="hidden" name="apagar" value="excluir" />
  <input type="submit" name="excluir" id="excluir" value="Excluir" />
  </td>
  </tr>
  <tr>
  </table>  
  </form>

  
  </div>
  <a href="<?php echo $logoutAction ?>">Log Out</a>
</di

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta com array:

 

<?php
if (isset($_POST['excluir']) && $_POST['excluir'] == 'Excluir') {
	
	    $caminho = "../galeria/";
	    $del = mysql_query("SELECT foto FROM ultimos WHERE id = '$_POST[id]'");
		while($dados = mysql_fetch_array($del,MYSQL_ASSOC)){
        unlink($caminho.$dados["nome"]);
        }
        $deleta = mysql_query("DELETE FROM ultimos WHERE id = '$_POST[id]'");
       
		
        if ($deleta =='1'){
		echo "Deletado com Sucesso!";
		}else {
			echo "Erro ao deletar!";
		}
}
?>

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.