Example #1
0
 public function uploadPhoto($data)
 {
     $validtypes = array('png', 'gif', 'jpg', 'jpeg', 'pjpeg', 'bmp');
     $filetype = substr($data['photo']['type'], 6);
     if (in_array($filetype, $validtypes)) {
         $this->deletePhoto();
         // Delete previous photo.
         $tmp_file = new File($data['photo']['tmp_name']);
         if ($filetype == 'jpeg' || $filetype == 'pjpeg') {
             $filetype = 'jpg';
         }
         $filename = 'img/users/' . AuthComponent::user('username') . '.' . $filetype;
         $file = new File($filename, true);
         $file->write($tmp_file->read());
         // Write new photo.
         if ($file->executable() || !in_array($file->ext(), $validtypes)) {
             $file->delete();
             return false;
         }
         return true;
     }
     return false;
 }
 /**
  * testExecutable method
  *
  * @return void
  */
 public function testExecutable()
 {
     $someFile = new File(TMP . 'some_file.txt', false);
     $this->assertTrue($someFile->open());
     $this->assertFalse($someFile->executable());
     $someFile->close();
     $someFile->delete();
 }
Example #3
0
 public function grabFiles()
 {
     $validItems = $this->getFileRules();
     App::uses('Folder', 'Utility');
     App::uses('File', 'Utility');
     $result = array();
     foreach ($validItems as $k => &$item) {
         $dir = new Folder($item['path']);
         $files = $dir->find($item['regex'], true);
         foreach ($files as $file) {
             $f = new File($item['path'] . DS . $file);
             $validItems[$k]['files'][] = array('filename' => $file, 'filesize' => $f->size(), 'read' => $f->readable(), 'write' => $f->writable(), 'execute' => $f->executable());
         }
     }
     return $validItems;
 }