ArchivoMaterias.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. /*
  3. * Objeto para leer y escribir datos de log de actividades realizadas por el usuario
  4. */
  5. class ArchivoMaterias {
  6. //put your code here
  7. private $file, $usr, $periodo;
  8. private $dir;
  9. function __construct($usr, $periodo, $filename = ""){
  10. $this->usr = $usr;
  11. $this->periodo = $periodo;
  12. if(trim($filename) == ""){
  13. $this->file = sha1("file_".$usr.$periodo).".txt";
  14. }else
  15. $this->file = $filename;
  16. if(preg_match('/\bapsa_pruebas\b/', $_SERVER['PHP_SELF']) ){
  17. $ruta = "apsa_pruebas";
  18. }else
  19. $ruta = "apsa";
  20. $this->dir = $_SERVER['DOCUMENT_ROOT']."/".$ruta."/files/";
  21. }
  22. function getFileName(){
  23. return $this->file;
  24. }
  25. function cleanFile(){
  26. $filename = $this->dir.$this->file;
  27. if (!file_exists($this->dir)){
  28. mkdir($this->dir, 0755, true);
  29. }
  30. if (file_exists($this->dir)){
  31. file_put_contents($filename, "");
  32. }
  33. }
  34. function appendFile($row){
  35. $filename = $this->dir.$this->file;
  36. if (!file_exists($this->dir)){
  37. mkdir($this->dir, 0755, true);
  38. }
  39. if (file_exists($this->dir)){
  40. $data = $row."\n";
  41. file_put_contents($filename, $data, FILE_APPEND);
  42. }
  43. }
  44. function getFile(){
  45. $filename = $this->dir.$this->file;
  46. if (file_exists($filename)){
  47. return file ($filename , FILE_SKIP_EMPTY_LINES);
  48. }else{
  49. return array();
  50. }
  51. }
  52. }