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(); }
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; }