Open Sencillo  2015.003
Long live the simplicity of PHP
 All Data Structures Namespaces Functions
files.delete.fdel.php
1 <?php
11 class fdel
12 {
13  protected $data;
14 
19  public function __construct($storage)
20  {
21  $this->data['path']=$storage;
22  $this->data['stored']=scandir($storage);
23  }
24 
29  public function debug()
30  {
31  return $this->data;
32  }
33 
39  public function deleteFile($name)
40  {
41  $dir = $this->data['path'];
42  $status = false;
43  $output = "<script type='text/javascript'>console.log( 'Delete: file $name not found' );</script>";
44  if(file_exists($dir.$name))
45  {
46  if(unlink($dir.$name)&&($name!='.')&&($name!='..'))
47  {
48  $output = "<script type='text/javascript'>console.log( 'Delete: $name' );</script>";
49  $status = true;
50  }
51  else
52  {
53  $output = "<script type='text/javascript'>console.log( 'Delete: access denied for $name' );</script>";
54  $status = false;
55  }
56  }
57  $this->data['output'][]=$output;
58  return $status;
59  }
60 
66  public function deleteFolder($name)
67  {
68  $dir = $this->data['path'];
69  if(rmdir($dir.$name)&&($name!='.')&&($name!='..'))
70  {
71  $status = true;
72  $output = "<script type='text/javascript'>console.log( 'Delete: $name' );</script>";
73  }
74  else
75  {
76  $status = false;
77  $output = "<script type='text/javascript'>console.log( 'Delete: access denied for $name' );</script>";
78  }
79  $this->data['output'][]=$output;
80  return $status;
81  }
87  public function deleteOldFile($olderThan=7)
88  {
89  $dir = $this->data['path'];
90  $filename = $this->data['stored'];
91  $max = $olderThan;//day to delete
92  $i=0;
93  foreach($filename as $val)
94  {
95  if((file_exists($dir.$val))&&($val!='.')&&($val!='..'))
96  {
97  $time = date("Ymd", filemtime($dir.$val))+$max;
98  if($time<date("Ymd"))
99  {
100  if(unlink($dir.$val))
101  {
102  $output .= "<script type='text/javascript'>console.log( 'Delete: $val' );</script>";
103  $i++;
104  }
105  else
106  {
107  $output .= "<script type='text/javascript'>console.log( 'Delete: access denied for $val' );</script>";
108  }
109  }
110  }
111  }
112  $output .= "<script type='text/javascript'>console.log( 'Out of date: $i files' );</script>";
113  $this->data['output']=$output;
114  return $i;
115  }
116 }
117 ?>
__construct($storage)
deleteFolder($name)
deleteOldFile($olderThan=7)
deleteFile($name)