Array
(
)

Falha de include ao excluir post

PHP
Michel Pinto
   - 27 abr 2012

Oi pessoal, estudo com um bug muito estranho aqui, e o seguinte:
Tenho uma lista de posts, quando clico no botão excluir, excluir tudo normal do banco a imagem da pasta, tudo normal, mais acontece o seguinte, após executar esse ação de excluir os includes que ficam abaixo da tabela são “perdido” gerando o seguinte erro:
warning include() function.include failed opening
Alguém tem algua ideia do que pode ser?
Segui o código que faz a exclusão:
#Código

<?php if(isset($_POST[excluir]) && $_POST[excluir] == excluir){
    $id = $_POST[id];
        $pegaImg = mysql_query(SELECT categoria, thumb FROM tabela WHERE id = $id); 
        if(@mysql_num_rows($pegaImg) <= 0 ){
            echo <div class=\off\>Erro ao Selecionar posts.</div>  
        }else{
            while($resPegaImg=mysql_fetch_array($pegaImg)){
                    $categoriaExcluir = $resPegaImg[0];
                    $thumbExcluir = $resPegaImg[1];
                        
            chdir(../uploads/imagens/$categoriaExcluir);
            $del = unlink($thumbExcluir);
        
        $deletar = mysql_query(DELETE FROM tabela WHERE id = $id);
        if($deletar >= 1){
            echo <div class=\ok\>Post deletado com sucesso!</div>
        }else{
            echo<div class=\off\>Erro ao remover post</div> 
    }   
   } 
  }
 }
  ?>


Erackson Brito
   - 13 mai 2012

Esse erro está acontecendo pelo fato de você estar mudando o diretório atual com a função chdir.

Possível solução:

<?php
if(isset($_POST[excluir]) && $_POST[excluir] == excluir){
$id = $_POST[id];
$pegaImg = mysql_query(SELECT categoria, thumb FROM tabela WHERE id = $id);
if(@mysql_num_rows($pegaImg) <= 0 ){
echo <div class=\off\>Erro ao Selecionar posts.</div>
}else{
$getcwd = getcwd();
while($resPegaImg=mysql_fetch_array($pegaImg)){
$categoriaExcluir = $resPegaImg[0];
$thumbExcluir = $resPegaImg[1];

chdir(../uploads/imagens/$categoriaExcluir);
$del = unlink($thumbExcluir);

$deletar = mysql_query(DELETE FROM tabela WHERE id = $id);
if($deletar >= 1){
echo <div class=\ok\>Post deletado com sucesso!</div>
}else{
echo<div class=\off\>Erro ao remover post</div>
}
}
chdir($getcwd);
}
}
?>

Espero ter ajudado.

[]s