Difference between #1 and #2 of Upload CSV File

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

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

<div >class="portlet-content">


			<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(); <?php $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) );

	}

Write new article
  • Written by: bhavesh vaghela
  • Category: Tutorials
  • Votes: +3
  • Viewed: 4,011 times
  • Created on: Jan 9, 2013
  • Last updated: Jan 9, 2013