/** * Download a file, local destination path is already occupied * @return void * @throws \Exception */ public function testDownloadFileExists() { $newFilename = tempnam(sys_get_temp_dir(), uniqid()); $fileResource = new File($this->getMockedClient(new Response())); try { $this->setExpectedException('Exception'); $fileResource->download(new Library(), new DirectoryItem(), $newFilename, '/'); $this->fail('Exception expected'); } finally { unlink($newFilename); } }
$items = $directoryResource->getAll($lib); $logger->log(Logger::INFO, sprintf("\nGot %d items", count($items))); foreach ($items as $item) { printf("%s: %s (%d bytes)\n\n", $item->type, $item->name, $item->size); } $logger->log(Logger::INFO, "#################### Done listing items of that library."); if (count($items) > 0) { // download first file $saveTo = './downloaded_' . $items[0]->name; if (file_exists($saveTo)) { unlink($saveTo); } switch ($items[0]->type) { case 'file': $logger->log(Logger::INFO, "#################### Downloading file '" . $items[0]->name . "' to '" . $saveTo); $downloadResponse = $fileResource->download($lib, $items[0], $saveTo, '/'); break; default: $logger->log(Logger::INFO, "#################### Not downloading '" . $items[0]->name . "' because it's not a file."); break; } } // upload a Hello World file and random file name (note: this seems not to work at this time when you are not logged into the Seafile web frontend). $newFilename = tempnam('.', 'Seafile-PHP-SDK_Test_Upload_'); rename($newFilename, $newFilename . '.txt'); $newFilename .= '.txt'; file_put_contents($newFilename, 'Hello World: ' . date('Y-m-d H:i:s')); $logger->log(Logger::INFO, "#################### Uploading file " . $newFilename); $response = $fileResource->upload($lib, $newFilename, '/'); // get file info $logger->log(Logger::INFO, "#################### Getting file details on " . $newFilename);