Difference between #2 and #3 of Upload CSV File

unchanged
Title
Upload CSV File
unchanged
Category
Tutorials
unchanged
Tags
changed
Content
View file

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

             	<div><div >


			<div>
			<?php echo $form->labelEx($model,'csv_file'); ?>

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

		</div>

            $this->endWidget(); 
Model file$this->endWidget(); 

Model file

                publicpublic function rules()
	        {
                    array('csv_file',
	{
                array('csv_file',
		       'file','file', 'types' => 'csv',
		       'maxSize'=>5242880,'maxSize'=>5242880,
		       'allowEmpty''allowEmpty' => true,
		       'wrongType'=>'Only'wrongType'=>'Only csv
allowed.',
		       'tooLarge'=>'File'tooLarge'=>'File too
large! 5MB is the limit'),
              }
              public
       }
public function attributeLabels()
	      {
                  'csv_file'=>'Upload
	{
               '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) );

	}

Write new article
  • Written by: bhavesh vaghela
  • Category: Tutorials
  • Yii Version: 1.1
  • Votes: +7
  • Viewed: 11,619 times
  • Created on: Jan 9, 2013
  • Last updated: Oct 15, 2014