como limpar automaticamente os uploads falhados do PHP em / tmp?

1

Como posso limpar automaticamente os uploads com falha? O PHP está armazenando-os em /tmp e todos os nomes de arquivos se parecem com phpAbCDeF (basicamente php seguido por 6 caracteres).

Eu sei que posso usar o comando:

find /tmp -name php\*

MAS isso também remove outros arquivos temporários que começam com o php (criado por outros processos) que eu não quero excluir.

Por favor, sugira uma solução.

    
por J. Chin 02.05.2013 / 17:50

2 respostas

1

Depende de como seus arquivos são nomeados. Aqui estão algumas sugestões:

  1. exclua todos os arquivos cujo nome é php seguido por exatamente 6 caracteres:

    find /tmp -type f -name 'php??????' -delete
    
  2. Exclua todos os arquivos cujo nome comece com php e que estejam vazios :

    find /tmp -type f -name "php*"  -empty -delete
    
  3. A melhor maneira seria editar o arquivo php-ini do seu servidor e definir a variável upload_tmp_dir . Dessa forma, você pode simplesmente excluir tudo nesse diretório. Por exemplo, se você definir isso no seu php.ini :

    upload_tmp_dir=/tmp/phptmp
    

    Você pode então simplesmente remover todos os arquivos da pasta:

    rm  /tmp/phptmp/*
    
por 02.05.2013 / 18:50
0

Se este é um aplicativo que você escreveu / pode modificar, eu recomendaria usar register_shutdown_function no momento em que você cria o arquivo temporário. Dessa forma, você pode unlink , mesmo que seu script seja interrompido.

    
por 14.04.2015 / 01:52

Tags