View file
$form=$this->beginWidget('CActiveForm', array( 'id'=>'registration-form', 'enableAjaxValidation'=>true, 'htmlOptions' => array('enctype' => 'multipart/form-data'), ));
$this->endWidget();
Model file
public function rules() { array('csv_file', 'file', 'types' => 'csv', 'maxSize'=>5242880, 'allowEmpty' => true, 'wrongType'=>'Only csv allowed.', 'tooLarge'=>'File too large! 5MB is the limit'), } public function attributeLabels() { 'csv_file'=>'Upload CSV File', }
Controller file
public function actionImport() {
$model = new Registration;
//$file = CUploadedFile::getInstance($model,'csv_file');
if(isset($_POST['Registration']))
{
$model->attributes=$_POST['Registration'];
if(!empty($_FILES['Registration']['tmp_name']['csv_file']))
{
$file = CUploadedFile::getInstance($model,'csv_file');
$fp = fopen($file->tempName, 'r');
if($fp)
{
// $line = fgetcsv($fp, 1000, ",");
// print_r($line); exit;
$first_time = true;
do {
if ($first_time == true) {
$first_time = false;
continue;
}
$model = new Registration;
$model->firstname = $line[0];
$model->lastname = $line[1];
$model->save();
}while( ($line = fgetcsv($fp, 1000, ";")) != FALSE);
$this->redirect('././index');
}
// echo $content = fread($fp, filesize($file->tempName));
}
}
$this->render('import', array('model' => $model) );
}
Be the first person to leave a comment
Please login to leave your comment.