You can download the BatchJob results without using the uploadUrl by using the code below:
// Get the service, which loads the required classes.
$batchJobService = $user->GetService('BatchJobService', ADWORDS_VERSION);
// Create selector.
$selector = new Selector();
$selector->fields = array('Id', 'DownloadUrl', 'ProcessingErrors', 'ProgressStats', 'Status');
// Create predicates.
$selector->predicates[] = new Predicate('Id', 'EQUALS', array($batchJobId));
// Create paging controls.
$selector->paging = new Paging(0, AdWordsConstants::RECOMMENDED_PAGE_SIZE);
// Make the get request.
$page = $batchJobService->get($selector);
// Process results
Shwetha, Adwords API Team.