/** * Goes through the array of files and processes them accordingly. * The result is an array of the appropiate Resource class that has been * created using the ResourceFactory class. * * @return An array of Upload objects that have already been moved to a safer * location. */ function process($destinationFolder) { // first, check if the upload feature is available $config =& Config::getConfig(); if (!$config->getValue("uploads_enabled")) { return FILE_UPLOADS_NOT_ENABLED; } // array used to store the files that have already been saved $uploads = array(); if ($destinationFolder[strlen($destinationFolder - 1)] != "/") { $destinationFolder .= "/"; } foreach ($this->_files as $file) { $upload = new FileUpload($file); $fileName = $upload->getFileName(); if ($this->my_move_uploaded_file($upload->getTmpName(), $destinationFolder . $fileName)) { $upload->setFolder($destinationFolder); $upload->setError(0); } else { $upload->setError(1); } array_push($uploads, $upload); } return $uploads; }
public function testCantMoveWithError() { $samplePath = realpath(__DIR__ . '/Sample') . '/upload.txt'; $targetPath = realpath(__DIR__ . '/Sample') . '/upload_moved.txt'; if (!file_exists($samplePath) || filesize($samplePath) == 0) { $this->markTestSkipped('Sample upload file could not be read correctly: ' . $samplePath); return; } if (file_exists($targetPath)) { if (!unlink($targetPath)) { $this->markTestSkipped('Moved upload file remains from old test and could not be removed'); return; } } $file = new FileUpload(); $file->setTemporaryPath($samplePath); $file->setError(UPLOAD_ERR_CANT_WRITE); $this->assertFalse($file->saveTo($targetPath)); $this->assertFileNotExists($targetPath); }