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

Apagar Conteudo De Uma Pasta


Guest kako

Pergunta

Ola´pessoal tranquilos?

assim tenho um script que faz o upload de fotos e armazena elas em uma pasta e também gera thumbs deles e joga para outra pasta.

tem como fazer um script que apague.ou limpe diariamente a pasta de onde ficaria as fotos orinais. não as thumbs.

ou

tem um jeito mais facil já fazer upload e transformando em thumbs.

como que poderia fazer isto?

obrigado.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Para apagar um arquivo se usa o unlink, para apagar um diretório inteiro também, mas ai tem que ir lendo os arquivos que existem no diretório (use scandir) e ir apagando... acho que na página do unlink do manual tem um exemplo pra apagar o conteúdo de um diretório inteiro...

E também pode-se gerar os thumbs logo após o upload...

EDIT:

Uma solução pronta...

foreach (glob("*.*") as $filename)
{
       unlink($filename);
}

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --kaco --

Bah, descobri que afunção funciona, acabou deletando que não deveria.

guaguagua

ainda bem que minha mae sempre fala, fassa o backup.

etcha.

vou agora vou tentar fazer certo.

já volto para falar

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --kaco --
Se você quer restringir, você altera essa parte:

*.*

Se quiser, por exemplo, apenas arquivos .doc coloca

*.doc

Ou seja, igual se faz no windows...

ESerra

Olha só meu cod.

Na verdade no while abaixo eu entro no diretorio fotos e script cria uma thumb e joga para outra pasta

e aproveito que estou diretorio uso o unlink para excluir as fotos. mas o que tá acontecendo esta que limpa os arquivos do meu localhost aonde está a pagina do cod. só a unica coisa que fica é as pastas e não exclui as fotos no diretorio fotos.

onde será que to me perdendo

//Tamanho da thumb, um valor inteiro, que corresponde à porcentagem.
$Tamanho = 24;

//Diretório onde estão as imagens
$Fotos = "fotos/";

//Diretório onde serão criadas as Thumbs
$Thumbs = "thumbs/";

//Seta qual tipo de arquivo será usado, $Ext = ".jpg";

//Seta a qualidade da Thumb
$Qualidade = 95;

//Vamos abrir o diretório das imagens
$dh = opendir(($dir = "$Fotos"));

//Agora vamos varrer todo o diretório à procura das imagens
while (false !== ($filename = readdir($dh))) {
    //Verificamos se o arquivo é uma imagem de extensão igual á setada em $Ext
    if (strtoupper(substr($filename,-4)) != strtoupper($Ext)) {
        continue;
    }

    //Verificamos aqui com que tipo de imagem vai trabalhar
    if (strtoupper($Ext) == ".JPG") {
        $ExtFunc = "Jpeg";
    } elseif (strtoupper($Ext) == ".GIF") {
        $ExtFunc = "Gif";
    } elseif (strtoupper($Ext) == ".PNG") {
        $ExtFunc = "Png";
    }
    
    //Criamos a imagem apartir da extensão setada em $ExtFunc
    //Concatenamos o valor de $ExtFunc para termos a função que criará a imagem
    //Podendo ser "ImageCreateFromJpeg" , "ImageCreateFromGif" ou "ImageCreateFromPng"
    
    $CriarImagemDe = "ImageCreateFrom" . $ExtFunc;
    $img = $CriarImagemDe($dir . $filename);
    
    //Aqui tiramos a proporção , o tamanho da thumb em relação à imagem

    //Pega largura da imagem
    $he = ImageSX($img);

    //Pega altura da imagem
    $wi = ImageSY($img);

    //Seta valor da largura da thumb
    $x = ($he / 100) * $Tamanho;

    //Seta valor da altura da thumb
    $y = ($wi / 100) * $Tamanho;
        
    //Aqui é criada a nova imagem, a thumb
    $img_nova = imagecreatetruecolor($x,$y); 
    
    //Agora a nova imagem é redimencionada
    imagecopyresampled($img_nova, $img, 0, 0, 0, 0, $x, $y, $he, $wi); 

    //Agora salvamos a Thumb no diretório especificado em $Thumbs, com a qualidade setada em $Qualidade
    //Para salvar a nova imagem, usaremos a função correspondente à extensão 
    //Que pode ser "ImageJpeg" , "ImageGif" ou "ImagePng" , concatenando os valores Image + $ExtFunc
    $Image = "Image" . $ExtFunc;
    $Image($img_nova, $Thumbs . $filename . $Ext, $Qualidade);
    
    //Destruimos o cache da imagem para liberar uma nova thumb
    ImageDestroy($img_nova);
    ImageDestroY($img); 


foreach (glob("*.*") as $Fotos)
{
       unlink($Fotos);
}


    
}

Link para o comentário
Compartilhar em outros sites

  • 0

Se as fotos estão em um diretório "superior" onde o arquivo está, por exemplo:

arquivo.php está em www

fotos está em www/fotos

Você tem que especificar isso, ou seja:

foreach (glob("NOMEDODIRETÓRIO/*.*") as $Fotos)

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,1k
×
×
  • Criar Novo...