Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

403
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda