Upload CSV File

You are viewing revision #3 of this wiki article.
This is the latest version of this article.
You may want to see the changes made in this revision.

« previous (#2)

View file

       $form=$this->beginWidget('CActiveForm', array(
        'id'=>'registration-form',
         'enableAjaxValidation'=>true,
             'htmlOptions' => array('enctype' => 'multipart/form-data'),
        )); 

         	<div>
		<?php echo $form->labelEx($model,'csv_file'); ?>
		<?php echo $form->fileField($model,'csv_file'); ?>
		<?php echo $form->error($model, 'csv_file'); ?>
	</div>
		<hr>
		<?php  echo CHtml::submitButton('Upload CSV',array("class"=>"")); ?>
		<?php echo $form->errorSummary($model); ?>
	</div>

        $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) );

}
3 0
10 followers
Viewed: 32 671 times
Version: Unknown (update)
Category: Tutorials
Tags:
Written by: bhavesh vaghela
Last updated by: bhavesh vaghela
Created on: Jan 9, 2013
Last updated: 10 years ago
Update Article

Revisions

View all history