Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

394
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!