コード例 #1
0
 public function actionImport()
 {
     $model = new Alinventario();
     $model->setScenario("cargamasiva");
     if (isset($_POST['Alinventario'])) {
         echo " Si salio el POST                             OK ->   ";
         $model->attributes = $_POST['Alinventario'];
         $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 = 1;
                 while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
                     if ($row > 1) {
                         $newmodel = Alinventario::model()->findByPk($data[0]);
                         $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";
                         } 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 valido CSM ";
         //yii::app()->end();
         //}
     } else {
         echo "NO se ha enviado ningun form";
         //yii::app()->end();
     }
     $this->render('cargainventario', array('model' => $model));
 }