/** * this will transfer the dbBackup zip to dropbox(LEAD-140) */ public function transferZip() { $root_dir = dirname(__DIR__); $backUpFolderPath = $root_dir . '/api/dbBackUp'; $host = gethostname(); $db_name = 'mydb'; /*dropbox settings starts here*/ $dropbox_config = array('key' => 'xxxxxxxx', 'secret' => 'xxxxxxxxx'); $appInfo = dbx\AppInfo::loadFromJson($dropbox_config); $webAuth = new dbx\WebAuthNoRedirect($appInfo, "PHP-Example/1.0"); $accessToken = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; $dbxClient = new dbx\Client($accessToken, "PHP-Example/1.0"); /*dropbox settings ends here*/ $current_date = date('Y-m-d'); $backUpFileName = $current_date . '_' . $db_name . '.sql.zip'; $fullBackUpPath = $backUpFolderPath . '/' . $backUpFileName; if (file_exists($backUpFolderPath)) { $files = scandir($backUpFolderPath); //retrieve all the files foreach ($files as $file) { if ($file == $backUpFileName) { // file matches with the db back up file created today /* transfer the file to dropbox*/ $f = fopen($fullBackUpPath, "rb"); $dbxClient->uploadFileChunked("/{$backUpFileName}", dbx\WriteMode::add(), $f); fclose($f); echo 'Upload Completed'; } } } }
$dropboxPath = "/" . $_FILES['files']['name'][0]; } else { print '{"files":[{"id":' . $_POST['id'] . ',"name":"","size":"","error":"PHP upload error #' . $_FILES['files']['error'][0] . ' occurred."}]}'; die; } $pathError = dbx\Path::findErrorNonRoot($dropboxPath); if ($pathError !== null) { print '{"files":[{"id":' . $_POST['id'] . ',"name":"' . $dropboxPath . '","size":"","error":"Invalid <dropbox-path>: ' . $pathError . '"}]}'; die; } $size = null; if (\stream_is_local($sourcePath)) { $size = \filesize($sourcePath); } $fp = fopen($sourcePath, "rb"); $metadata = $client->uploadFileChunked($dropboxPath, dbx\WriteMode::add(), $fp, $size); fclose($fp); if ($logging) { $logfile = tmpfile(); fwrite($logfile, "Upload date: " . date("F j, Y, g:i a") . "\nIP: " . $_SERVER['REMOTE_ADDR']); fseek($logfile, 0); $logsize = filesize(stream_get_meta_data($logfile)['uri']); $log_metadata = $client->uploadFileChunked($dropboxPath . ".log", dbx\WriteMode::add(), $logfile, $logsize); fclose($logfile); } print '{"files":[{"id":' . $_POST['id'] . ',"name":"' . $metadata['path'] . '","size":' . $size . '}]}'; die; } catch (dbx\AuthInfoLoadException $ex) { print '{"files":[{"id":' . $_POST['id'] . ',"name":"' . $metadata['path'] . '","size":' . $size . ',"error":"An authentication problem occurred.}]}'; die; }