Gente, estou quebrando a cabeça a horas, não consegui resolver mas sei qual é o problema.
Estou usando o CMultiFileUpload no meu form para uploads de varios arquivos. No entanto, se colocar 5 arquivos (imagens) ele não da up, só dá se eu colocar até 4 arquivos. Verifiquei o $_FILES (var_dump), e realmente ele só vai até 4, se for mais que isso ele nem aparece o array com as propriedades.
Por favor, se alguem souber desse pequeno errinho, me ajuda aê
Segue a action:
public function actionUp()
{
$model=new Imagens;
// Uncomment the following line if AJAX validation is needed
$this->performAjaxValidation($model);
//$teste = (isset($_FILES['images'])? var_dump($_FILES['images']) : "");
if(isset($_POST['upload']) && $_POST['upload'] == 'yes')
{
$modelo = $_GET['modelo'];
$id = $_GET['id'];
//Cria a pasta do determinado modelo. Ex: galeria, midia.
if(!is_dir(Yii::getPathOfAlias('webroot').'/imgs/'.$modelo.'/'))
{
mkdir(Yii::getPathOfAlias('webroot').'/imgs/'.$modelo.'/');
chmod((Yii::getPathOfAlias('webroot').'/imgs/'.$modelo.'/'), 0755);
}
// Cria a pasta com o ID. VERIFICAR ISSO!
if(!is_dir(Yii::getPathOfAlias('webroot').'/imgs/'.$modelo.'/'.$id.'/'))
{
mkdir(Yii::getPathOfAlias('webroot').'/imgs/'.$modelo.'/'.$id.'/');
chmod((Yii::getPathOfAlias('webroot').'/imgs/'.$modelo.'/'.$id.'/'), 0755);
mkdir(Yii::getPathOfAlias('webroot').'/imgs/'.$modelo.'/'.$id.'/thumbs/');
chmod((Yii::getPathOfAlias('webroot').'/imgs/'.$modelo.'/'.$id.'/thumbs/'), 0755);
}
$images = CUploadedFile::getInstancesByName('images');
if (isset($images) && count($images) > 0) {
$mk = mktime();
$cont = 0;
foreach ($images as $image => $pic)
{
$ext = substr($pic->name, -4);
if($ext[0] == '.'){
$ext = substr($pic->name, -3);
}
if ($pic->saveAs(Yii::getPathOfAlias('webroot').'/imgs/'.$modelo.'/'.$id.'/'.$mk.$cont.'.'.strtolower($ext))) {
$thumbs=Yii::app()->phpThumb->create(Yii::getPathOfAlias('webroot').'/imgs/'.$modelo.'/'.$id.'/'.$mk.$cont.'.'.strtolower($ext));
$thumbs->resizePercent(20);
$thumbs->save(Yii::getPathOfAlias('webroot').'/imgs/'.$modelo.'/'.$id.'/thumbs/'.$mk.$cont.'.'.strtolower($ext));
$add_imagem = new Imagens;
$add_imagem->caminho = $mk.$cont.'.'.strtolower($ext);
$add_imagem->save();
$add_imagem->icGaleriases = $id;
$add_imagem->saveWithRelated('icGaleriases');
}
$cont++;
}
}else{
// echo "Aprimorar erro";
}
}
$this->render('up',array(
'model'=>$model,
));
}
form:
<div class="form">
<?php
$form=$this->beginWidget('CActiveForm', array(
'id'=>'imagens-form',
'enableAjaxValidation'=>true,
'htmlOptions' => array('enctype' => 'multipart/form-data'), // ADD THIS
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->errorSummary($model); ?>
<div class="row">
<?php $this->widget('CMultiFileUpload', array(
'model' => $model,
'name' => 'images',
'accept' => 'jpeg|jpg|gif|png', // useful for verifying files
'duplicate' => 'Imagem duplicada!', // useful, i think
'denied' => 'Extensão inválida!', // useful, i think
)); ?>
</div>
<?php echo CHtml::hiddenField('upload','yes'); ?>
<div class="row buttons">
<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->