Exemplo n.º 1
0
 public function actionImport()
 {
     $model = new Maestrocompo();
     $model->setScenario("cargamasiva");
     if (isset($_POST['Maestrocompo'])) {
         echo " Si salio el POST                             OK ->   ";
         $model->attributes = $_POST['Maestrocompo'];
         $filelist = CUploadedFile::getInstancesByName('csvfile');
         // if($filelist)
         // $model->csvfile=1;
         //if($model->validate())
         // {
         // echo " Se valido  ....";
         foreach ($filelist as $file) {
             try {
                 $transaction = Yii::app()->db->beginTransaction();
                 $handle = fopen("{$file->tempName}", "r");
                 echo "el handle  es ...." . gettype($handle);
                 $row = 2;
                 ini_set('max_execution_time', '120');
                 while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
                     if ($row > 1) {
                         $newmodel = new Maestrocompo();
                         $newmodel->codigo = $data[0];
                         $newmodel->um = $data[1];
                         $newmodel->codtipo = $data[2];
                         $newmodel->descripcion = $data[3];
                         $newmodel->marca = $data[4];
                         $newmodel->marca = $data[5];
                         $newmodel->marca = $data[6];
                         //$newmodel->setScenario("cargamasiva");
                         /*$newmodel->cantlibre=$data[1];
                         		echo " el id  a cargar es :  ".$data[0]."   \n";*/
                         if ($newmodel->save()) {
                             //echo " grabo  carajo --------------------> :  ".$data[1]."   \n";
                             echo "ok  " . $newmodel->codigo . "\n";
                         } else {
                             //echo " NO grabo  xxxxxxxxxxx-> :  ".$data[1]."   \n";
                         }
                     }
                     $row++;
                 }
                 $transaction->commit();
             } catch (Exception $error) {
                 print_r($error);
                 $transaction->rollback();
             }
             yii::app()->end();
         }
     } else {
         echo "NO se ha enviado ningun form";
     }
     $this->render('cargamaestro', array('model' => $model));
 }