Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

406
Visualizações
PHP Crear archivo y eliminarlo después de una hora, una semana, etc.

Quiero crear un archivo y puedo eliminarlo automáticamente después del período necesario. mi código es:

 $timeForDelete=$_REQUEST['timeForDelete']; $text=$_REQUEST["text"]; $filename = uniqid(rand(), true) . '.txt'; if($timeForDelete =="2"){ //how save text to file and auto delete file after one hour? } else{ $f=fopen($filename,'a'); fwrite($f,$text); //write to file }

if $timeForDelete ==2: ¿cómo puedo guardar texto en un archivo y eliminarlo automáticamente después de una hora? Espero que ayudes a resolver este problema. Gracias.

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Hay varias maneras de hacer lo que está solicitando. Yo sugeriría que la forma más rápida de hacer esto sería:

  1. Crear el archivo con un nombre que sea identificable de forma única como que debe eliminarse (y según su pregunta, tal vez una marca de tiempo en el nombre después de la cual se puedan eliminar: una hora, una semana, etc.)
  2. Escriba un script que elimine todos los archivos que contengan ese identificador único según el momento en que se crearon.
  3. Configure un cronjob para ejecutar el script cada 5 minutos y limpie sus archivos innecesarios.
about 4 years ago · Santiago Trujillo Relatório

0

Permítanme intentar dar un script de ejemplo que ejecutaría el cron.

http://php.net/manual/en/function.filemtime.php

Lamentablemente, en los sistemas Linux no podemos obtener la fecha de creación del archivo, por lo que fmtime es nuestra mejor opción. Para obtener más información, lea la wiki debajo de la documentación de fmtime .

Nota: Esto es solo un ejemplo simple.

Enumere todos los archivos en un directorio: (/ruta/a/su/script/yourscript.php)

 //assuming files are stored in /path/to/your/script/myfiles $path = realpath(dirname(__FILE__)) . '/myfiles'; $files = array_diff(scandir($path), ['.', '..']); //assuming all your files are in $paths top level foreach($files as $file){ //unix time $ctime = fmtime($path . "/$file"); //basic math if(time() > $ctime){ unlink($path . "/$file"); } }

Tu trabajo cron

Si está ejecutando un sistema operativo similar a Unix:

Se ejecuta cada 5 minutos. Puedes reconfigurar

 crontab -e

Agregue esto al crontab y guarde:

 #invoke the intepreter */5 * * * * php /path/to/your/script/yourscript.php

Editar:

Alternativamente, puede guardar los tiempos de carga de estos archivos en una base de datos para realizar un seguimiento de las fechas de creación de archivos.

about 4 years ago · Santiago Trujillo Relatório

0

este código funciona al 100%

 date_default_timezone_set('Asia/Kolkata'); $path = realpath(dirname(__FILE__)) . '\Register.php'; <'Enter Your delete file name'> $creat_time = date("dmY h:i:s",filemtime($path)); $endTime = strtotime("+1 year", strtotime($creat_time)); if(time()>$endTime){ unlink($path); }
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda