Ir para conteúdo
groudon900

Apagar foto da pasta no site

Recommended Posts

Preciso da ajuda de vocês eu consigo apagar o caminho da foto no banco de dados, mas não consigo apagar a foto da pasta !

 

como ela fica salva na coluna do mysql

 

(192861-como-fazer-folha-de-pagamento-de-condominio-aprenda-ja.jpg)

 

Pagina de Apagar

<?php
session_start();
include_once("../conexao.php");

$id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);
if(!empty($id)){
	$result_usuario = "DELETE FROM sites WHERE id='$id'";
	$resultado_usuario = mysqli_query($conn, $result_usuario);
	if(mysqli_affected_rows($conn))
    
            
    {
		$_SESSION['msg'] = "<p style='color:green;'>Usuário apagado com sucesso</p>";
		header("Location: listarS");
	}else{
		
		$_SESSION['msg'] = "<p style='color:red;'>Erro o usuário não foi apagado com sucesso</p>";
		header("Location: ERROR.php");
	}
}else{	
	$_SESSION['msg'] = "<p style='color:red;'>Necessário selecionar um usuário</p>";
	header("Location: ERROR.php");
}

 

como eu coloco a foto !

<?php
			include_once("../conexao.php");


			$servico = $_POST['servico'];
			$empresa = $_POST['empresa'];
			$descricao = $_POST['descricao'];
			$url = $_POST['url'];
			$arquivo 	= $_FILES['arquivo']['name'];

			//Pasta onde o arquivo vai ser salvo
			$_UP['pasta'] = '../foto/foto_servicos/';

			//Tamanho máximo do arquivo em Bytes
			$_UP['tamanho'] = 1024*1024*100; //5mb

			//Array com a extensões permitidas
			$_UP['extensoes'] = array('png', 'jpg', 'jpeg', 'gif' , 'pdf');

			//Renomeiar
			$_UP['renomeia'] = false;

			//Array com os tipos de erros de upload do PHP
			$_UP['erros'][0] = 'Não houve erro';
			$_UP['erros'][1] = 'O arquivo no upload é maior que o limite do PHP';
			$_UP['erros'][2] = 'O arquivo ultrapassa o limite de tamanho especificado no HTML';
			$_UP['erros'][3] = 'O upload do arquivo foi feito parcialmente';
			$_UP['erros'][4] = 'Não foi feito o upload do arquivo';

			//Verifica se houve algum erro com o upload. Sem sim, exibe a mensagem do erro
			if($_FILES['arquivo']['error'] != 0){
				die("Não foi possivel fazer o upload, erro: <br />". $_UP['erros'][$_FILES['arquivo']['error']]);
				exit; //Para a execução do script
			}

			//Faz a verificação da extensao do arquivo
			$extensao = strtolower(end(explode('.', $_FILES['arquivo']['name'])));
			if(array_search($extensao, $_UP['extensoes'])=== false){
				echo "
					<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=/dashboard/listarS'>
					<script type=\"text/javascript\">
						alert(\"A imagem não foi cadastrada extensão inválida.\");
					</script>
				";
			}

			//Faz a verificação do tamanho do arquivo
			else if ($_UP['tamanho'] < $_FILES['arquivo']['size']){
				echo "
					<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=/dashboard/listarS'>
					<script type=\"text/javascript\">
						alert(\"Arquivo muito grande.\");
					</script>
				";
			}

			//O arquivo passou em todas as verificações, hora de tentar move-lo para a pasta foto
			else{
				//Primeiro verifica se deve trocar o nome do arquivo
				if($UP['renomeia'] == true){
					//Cria um nome baseado no UNIX TIMESTAMP atual e com extensão .jpg
					$nome_final = time().'.jpg';
                    $nome_final2 = time().'.jpg';
				}else{
					//mantem o nome original do arquivo
					$nome_final = $_FILES['arquivo']['name'];
                    $nome_final2 = $_FILES['arquivo']['name'];
				}
				//Verificar se é possivel mover o arquivo para a pasta escolhida
				if(move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta']. $nome_final)){
					//Upload efetuado com sucesso, exibe a mensagem
					$query = mysqli_query($conn, "INSERT INTO sites (servico,empresa,fotos,descricao,url)    	VALUES('$servico','$empresa','$nome_final','$descricao','$url')");

					echo "
						<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=/dashboard/listarS'>
						<script type=\"text/javascript\">
							alert(\"Cadastrado com sucesso!.\");
						</script>
					";
				}else{
					//Upload não efetuado com sucesso, exibe a mensagem
					echo "
						<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=/dashboard/listarS'>
						<script type=\"text/javascript\">
							alert(\"Imagem não foi cadastrada com Sucesso.\");
						</script>
					";
				}
			}

 

Se precisar de algo mais, me falem!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Somente o banco não irá deletar um arquivo
existente em uma pasta X... Para fazer o mesmo
pegue o caminho do arquivo e utilize a função
unlink.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Agora, ShadowDLL disse:

Somente o banco não irá deletar um arquivo
existente em uma pasta X... Para fazer o mesmo
pegue o caminho do arquivo e utilize a função
unlink.

 

Oh amigão passei a tarde tentando, me da um help! 

 

o arquivo está aqui !

../foto/foto_servicos/

Tentei fazer esse código agora! mas continua sem apagar !

 

<?php
session_start();
include_once("../conexao.php");

$id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);
$diretorio = "../foto/foto_servicos/";  
$pegaValores = mysqli_query($conn, "SELECT fotos FROM sites WHERE id = $id");  
$imagem = mysqli_fetch_object($pegaValores);  
$imagemQueVaiDeletada = $diretorio . $imagem->imagem;   
$deleta = unlink($imagemQueVaiDeletada); 

if(!empty($id)){
	$result_usuario = "DELETE FROM sites WHERE id='$id'";
	$resultado_usuario = mysqli_query($conn, $result_usuario);
	if(mysqli_affected_rows($conn))
    
            
    {
        
		$_SESSION['msg'] = "<p style='color:green;'>Usuário apagado com sucesso</p>";
		header("Location: listarS");
	}else{
		
		$_SESSION['msg'] = "<p style='color:red;'>Erro o usuário não foi apagado com sucesso</p>";
		header("Location: ERROR.php");
	}
}else{	
	$_SESSION['msg'] = "<p style='color:red;'>Necessário selecionar um usuário</p>";
	header("Location: ERROR.php");
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

CÓDIGO:
 

<?php
session_start();
include_once("../conexao.php");

$id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);

if (!empty($id)){
	$pegaValores = mysqli_query($conn, "SELECT fotos FROM sites WHERE id = $id");
	$imagem = mysqli_fetch_object($pegaValores);

	$diretorio = "../foto/foto_servicos/";
	$imagemQueVaiDeletada = $diretorio . $imagem->imagem;

	if ( file_exists ( $imagemQueVaiDeletada ) ) {
		unlink ( $imagemQueVaiDeletada );

		$result_usuario = "DELETE FROM sites WHERE id='$id'";
		$resultado_usuario = mysqli_query($conn, $result_usuario);

		if(mysqli_affected_rows($conn)) {
			$_SESSION['msg'] = "<p style='color:green;'>Usuário apagado com sucesso</p>";
			header("Location: listarS.php");
		}else{
			$_SESSION['msg'] = "<p style='color:red;'>Erro o usuário não foi apagado com sucesso</p>";
			header("Location: ERROR.php");
		}
	} else {
		$_SESSION['msg'] = "<p style='color:red;'>Erro o arquivo não foi encontrado</p>";
		header("Location: ERROR.php");
	}
} else {
	$_SESSION['msg'] = "<p style='color:red;'>Necessário selecionar um usuário</p>";
	header("Location: ERROR.php");
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
18 minutos atrás, ShadowDLL disse:

CÓDIGO:
 


<?php
session_start();
include_once("../conexao.php");

$id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);

if (!empty($id)){
	$pegaValores = mysqli_query($conn, "SELECT fotos FROM sites WHERE id = $id");
	$imagem = mysqli_fetch_object($pegaValores);

	$diretorio = "../foto/foto_servicos/";
	$imagemQueVaiDeletada = $diretorio . $imagem->imagem;

	if ( file_exists ( $imagemQueVaiDeletada ) ) {
		unlink ( $imagemQueVaiDeletada );

		$result_usuario = "DELETE FROM sites WHERE id='$id'";
		$resultado_usuario = mysqli_query($conn, $result_usuario);

		if(mysqli_affected_rows($conn)) {
			$_SESSION['msg'] = "<p style='color:green;'>Usuário apagado com sucesso</p>";
			header("Location: listarS.php");
		}else{
			$_SESSION['msg'] = "<p style='color:red;'>Erro o usuário não foi apagado com sucesso</p>";
			header("Location: ERROR.php");
		}
	} else {
		$_SESSION['msg'] = "<p style='color:red;'>Erro o arquivo não foi encontrado</p>";
		header("Location: ERROR.php");
	}
} else {
	$_SESSION['msg'] = "<p style='color:red;'>Necessário selecionar um usuário</p>";
	header("Location: ERROR.php");
}

 

Oh amigão tentei aqui mas a pagina não funciona!

Compartilhar este post


Link para o post
Compartilhar em outros sites
$id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);

o problema foi nesse código depois do ";" tinha três bolinhas vermelhas eu apaguei e o código funcionou!, mas ele ainda apaga tudo menos a imagem da pasta!

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
session_start();
include_once("../conexao.php");

$id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);

if (!empty($id)){
	$pegaValores = mysqli_query($conn, "SELECT fotos FROM sites WHERE id = $id");
	$imagem = mysqli_fetch_object($pegaValores);

	$diretorio = "../foto/foto_servicos/";
	$imagemQueVaiDeletada = $diretorio . $imagem->imagem;

	if ( file_exists ( $imagemQueVaiDeletada ) ) {
		chmod ( $imagemQueVaiDeletada, 0666 );
		unlink ( $imagemQueVaiDeletada );

		$result_usuario = "DELETE FROM sites WHERE id='$id'";
		$resultado_usuario = mysqli_query($conn, $result_usuario);

		if(mysqli_affected_rows($conn)) {
			$_SESSION['msg'] = "<p style='color:green;'>Usuário apagado com sucesso</p>";
			header("Location: listarS.php");
		}else{
			$_SESSION['msg'] = "<p style='color:red;'>Erro o usuário não foi apagado com sucesso</p>";
			header("Location: ERROR.php");
		}
	} else {
		$_SESSION['msg'] = "<p style='color:red;'>Erro o arquivo não foi encontrado</p>";
		header("Location: ERROR.php");
	}
} else {
	$_SESSION['msg'] = "<p style='color:red;'>Necessário selecionar um usuário</p>";
	header("Location: ERROR.php");
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
4 minutos atrás, ShadowDLL disse:

<?php
session_start();
include_once("../conexao.php");

$id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);

if (!empty($id)){
	$pegaValores = mysqli_query($conn, "SELECT fotos FROM sites WHERE id = $id");
	$imagem = mysqli_fetch_object($pegaValores);

	$diretorio = "../foto/foto_servicos/";
	$imagemQueVaiDeletada = $diretorio . $imagem->imagem;

	if ( file_exists ( $imagemQueVaiDeletada ) ) {
		chmod ( $imagemQueVaiDeletada, 0666 );
		unlink ( $imagemQueVaiDeletada );

		$result_usuario = "DELETE FROM sites WHERE id='$id'";
		$resultado_usuario = mysqli_query($conn, $result_usuario);

		if(mysqli_affected_rows($conn)) {
			$_SESSION['msg'] = "<p style='color:green;'>Usuário apagado com sucesso</p>";
			header("Location: listarS.php");
		}else{
			$_SESSION['msg'] = "<p style='color:red;'>Erro o usuário não foi apagado com sucesso</p>";
			header("Location: ERROR.php");
		}
	} else {
		$_SESSION['msg'] = "<p style='color:red;'>Erro o arquivo não foi encontrado</p>";
		header("Location: ERROR.php");
	}
} else {
	$_SESSION['msg'] = "<p style='color:red;'>Necessário selecionar um usuário</p>";
	header("Location: ERROR.php");
}

 

Continua apagando tudo do DB mas a foto ainda continua na pasta! e não da nenhum erro ! (Usuario apagado com sucesso)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como esta o seu html para deletar a imagem

Vou mostra como eu uso aqui 

Tu veja se ajuda você

 

este é o html que uso para listar as imagem e deletar porem ela deleta uma por uma

Mais pegando o ex tu  consegue fazer ai

Obs: Não é que terá que usar o código mais tu pode fazer na base deste aqui

// Excluir Imagem
    if (isset($_GET['ExcluirImagem'])) {
    	$id = get('ExcluirImagem');

    	$Query = DBRead('fotos_album','*',"WHERE id = '{$id}'"); if (is_array($Query)) { foreach ($Query as $fotos) {
    		@unlink('../assets/portfolio/'.$fotos['imagem']);
    	} }
    	
		$Query = DBDelete('fotos_album',"id = '{$id}'");

		if ($Query != 0) {
            Redireciona('?AdicionarFotos='.get('album').'&sucesso');
        } else {
            Redireciona('?AdicionarFotos='.get('album').'&erro');
        }
	}
<?php $Query = DBRead('fotos_album','*',"WHERE id = '{$id}'"); if (is_array($Query)) { foreach ($Query as $fotos) { ?>
<form method="post" action="?AtualizarImagem=<?php echo $fotos['id']; ?>" enctype="multipart/form-data">
    <div class="form-group">
        <input type="hidden" name="album" value="<?php echo $album; ?>">
        <label>Título da Imagem:</label>
        <input class="form-control" name="titulo" value="<?php echo $fotos['titulo']; ?>" required>
    </div>

    <center>
        <a href="?ExcluirImagem=<?php echo $fotos['id']; ?>&album=<?php echo $album; ?>">
            <button type="button" class="btn btn-danger">Excluir</button>
        </a>
        <button class="btn btn-primary">Salvar</button>
    </center>

</form>
<?php }} ?>

Estava pesquisando aqui e encontrei este código

vejas e ela vai te ajudar ai...

 

<?
$Imovel_Codigo               = isSet($_GET['numero']) && is_numeric($_GET['numero']) ? $_GET['numero']: 0;

// Identifica o imovel
$SQL                         = 'SELECT * FROM imoveis WHERE id_imoveis = '.$Imovel_Codigo;
$Consulta_Imovel             = mysql_query($SQL) OR Die ('Erro '.mysql_errno().'<br>'.mysql_error().'<br>na busca do imóvel');

If (mysql_num_rows($Consulta_Imovel))
  { $Imovel                 = mysql_fetch_array($Consulta_Imovel);

    // Coleta as fotos
    $SQL                    = 'SELECT id_foto, foto FROM fotos WHERE id_imovel = '.$Imovel_Codigo; // busca todas as fotos
    $Consulta_Fotos         = mysql_query($SQL) OR Die ('Erro '.mysql_errno().'<br>'.mysql_error().'<br>na busca de fotos');

    // Deletas as fotos
    If (mysql_num_rows($Consulta_Fotos))
       { // Pasta raiz das fotos
         $Pasta             = '../fotos';

         // Rotina de exclusao
         While ($Foto_Atual = mysql_fetch_assoc($Consulta_Fotos))
               {
                 // UPDATE  foto por foto do db
                 $SQL       = 'UPDATE  FROM fotos WHERE id_foto = '.$Foto_Atual['id_foto'];
                              mysql_query($SQL);

                 // UPDATE  arquivo por arquivo de foto
                 $Arquivo_URL         = $Pasta.'/'.$Foto_Atual['foto'];
                                        @unlink($Arquivo_URL);
               }
       }
    Else { Echo('Não há fotos para o imóvel '.$Imovel_Codigo); }

    // UPDATE  o imovel e o thumb
    $Arquivo_URL            = $Pasta.'/'.$Imovel['imovelThumb'];
    $SQL                    = 'UPDATE  FROM imoveis WHERE id_imoveis = '.$Imovel_Codigo;
                              mysql_query($SQL);
                              // UPDATE  o thumb
                              @unlink($Arquivo_URL);

  } // Imovel nao localizado
Else { Exit('Imóvel '.$Imovel_Codigo.' não existe'); }
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

#RESOLVIDO VIA DISCORD

SOLUÇÃO:

Alteração em fragmento do código, segue:

 

ANTERIOR:

$imagem->imagem;

ALTERADO POR:

$imagem->fotos;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, ativo. Nela tem cadastrado vários itens. No campo ativo eu coloco a letra "S" para informar que este item está ativo no sistema. Por exemplo: 1, casa, S 2, mesa, S 3, cama, S 4, moto S 5, rádio O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "produtos" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, mesa, moto 2, mesa, casa, cama 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela produtos da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "mesa". Preciso fazer com que o php me liste todos os registros da tabela "produtos" que contenham a palavra "mesa". Até aqui tudo bem eu consigo listar. Estou fazendo assim: <?php $item = "mesa" $sql = mysqli_query($conn, "SELECT * FROM produtos WHERE item1 LIKE '$item' OR item2 LIKE '$item' OR item3 LIKE '$item' LIMIT 10"); while($aux = mysqli_fetch_assoc($sql)) { $id = $aux["id"]; $item1 = $aux["item1"]; $item2 = $aux["item2"]; $item3 = $aux["item3"]; echo $id . " - " . $item1 . ", " . $item2 . ", " $item3 . "<br>"; } ?> O problema é que está listando todos os registros que contém o item mesa. Eu preciso que o php verifique os demais item e me liste somente os registro em que todos os registros estejam ativos no sistema. No exemplo acima ele não deveria listar o registro 3. pois nesse registro contém o item "radio" e este item não está ativo no sistema. Ou seja, o registro "radio" na tabela itens não possui um "S" na coluna "ativo". Alguém sabe como resolver isso?
    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.