title: Import CSV Data through a Controller # Import CSV Data through a Controller You can have more customized logic and interface feedback through a custom controller. Let's create a simple upload form (which is used for `MyDataObject` instances). You can access it through `http://yoursite.com/MyController/?flush=all`. :::php load($_FILES['CsvFile']['tmp_name']); $messages = array(); if($results->CreatedCount()) { $messages[] = sprintf('Imported %d items', $results->CreatedCount()); } if($results->UpdatedCount()) { $messages[] = sprintf('Updated %d items', $results->UpdatedCount()); } if($results->DeletedCount()) { $messages[] = sprintf('Deleted %d items', $results->DeletedCount()); } if(!$messages) { $messages[] = 'No changes'; } $form->sessionMessage(implode(', ', $messages), 'good'); return $this->redirectBack(); } }
This interface is not secured, consider using [api:Permission::check()] to limit the controller to users with certain access rights.