Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

[SOLUCIONADO] PHp y yii

Estas en el tema de PHp y yii en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos tengo una pregunta, es que estoy programando una aplicación con yiiframework no se si alguien sepa en cuanto a esto necesito ayuda!!! ...
  #1 (permalink)  
Antiguo 10/02/2014, 10:30
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 13 años, 4 meses
Puntos: 4
PHp y yii

Hola a todos tengo una pregunta, es que estoy programando una aplicación con yiiframework no se si alguien sepa en cuanto a esto necesito ayuda!!!

estoy programando un FileUpload WhFileUpload.php esto permite subir archivos!! pero no se como se puede configurar si alguien me podría ayudar lo agradecería mucho
  #2 (permalink)  
Antiguo 10/02/2014, 15:06
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 13 años, 2 meses
Puntos: 397
Respuesta: PHp y yii

Que has hecho? que no te funciona? cuales son las reglas del modelo? como tienes definido el widget del formulario? que haces en el controlador?

Como ves falta mucha información fundamental. Aprende a preguntar para que puedas recibir una ayuda adecuada.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 14/02/2014, 11:54
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 13 años, 4 meses
Puntos: 4
Respuesta: PHp y yii

Hola gracias mira tengo funcionando la subida de un archivo bien, pero necesito ingresar varias imagenes al tiempo.

los archivos que suba tienen que estar asociados a un contrato. tengo esto _form.php
Código PHP:
Ver original
  1. <?php
  2.     $form = $this->beginWidget('CActiveForm', array(
  3.         'id' => 'documentos-form',
  4.         'enableAjaxValidation' => false,
  5.         'htmlOptions' => array('enctype' => 'multipart/form-data'),
  6.             ));
  7.     ?>
  8.  
  9. <?php echo $form->labelEx($model, 'Contrato'); ?>
  10. <?php echo $form->textField($model, 'Contrato'); ?>
  11. <?php echo $form->error($model, 'Contrato'); ?>
  12.  
  13. <?php echo $form->labelEx($model, 'Ruta'); ?>        
  14. <?php echo CHtml::activeFileField($model, 'Ruta'); ?>  
  15. <?php echo $form->error($model, 'Ruta'); ?>
  16.  
  17. <?php echo CHtml::submitButton($model->isNewRecord ? 'Subir' : 'Save'); ?>

en el controlador tengo pues el metodo de crear, esto me guarda el archivo

Código PHP:
Ver original
  1. public function actionCreate() {
  2.         $model = new Documentos;
  3.  
  4.         if (isset($_POST['Documentos'])) {
  5.             $model->attributes = $_POST['Documentos'];
  6.  
  7.             $subiendoImagen=CUploadedFile::getInstance($model,'Ruta');
  8.             $imgNombre = "{$subiendoImagen}";  // numero aleatorio  + nombre de archivo
  9.             $model->Ruta = $imgNombre;
  10.            
  11.             if ($model->save())
  12.                 $subiendoImagen->saveAs(Yii::app()->basePath.'/imagenes/'.$imgNombre);
  13.                 $this->redirect(array('view', 'id' => $model->ID));
  14.         }
  15.  
  16.         $this->render('create', array(
  17.             'model' => $model,
  18.         ));
  19.     }

y el model tengo los atributos

Código PHP:
Ver original
  1. public function rules()
  2.     {
  3.         return array(
  4.                         array('Contrato,Ruta', 'required'),
  5.                         array('Ruta', 'file','types'=>'jpg, gif, png', 'allowEmpty'=>true, 'on'=>'update'),
  6.             array('Ruta', 'length', 'max'=>200),
  7.  
  8.         );
  9.     }

lo que necesito es que con este

Código PHP:
Ver original
  1. <?php
  2.                 $this->widget('yiiwheels.widgets.fileupload.WhFileUpload',
  3.                  array('name' => 'Ruta',
  4.                        'url'  => $this->createUrl('site/upload', array('type' => 'fine')),
  5.                        'multiple' => true,
  6.                 )
  7.             );
  8.             ?>

pero no se como utilizarlo por que no muestra los archivos que cargar, lo pegue en la parte de vistas pero no muestra como tal lo que muestra en el ejemplo no se como utilizarlo agradsco toda la ayuda que me puedan brindar
  #4 (permalink)  
Antiguo 14/02/2014, 12:12
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 13 años, 2 meses
Puntos: 397
Respuesta: PHp y yii

Y si mejor usas CMultiFileUpload?

A parte de eso, puedes buscar una extensión que se acople a tus requerimientos...

Me da la impresión de que estás reinventando la rueda

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #5 (permalink)  
Antiguo 14/02/2014, 13:10
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 13 años, 4 meses
Puntos: 4
Respuesta: PHp y yii

Gracias lo voy a intentar, pero me gustaria saber si se puede hacer en el otro y como ..... es que este WhFileUpload es mas bonito y llamativo, y tu sabes que el diseño dice mucho!!
te agradeceria si me pudieras ayudar, voy intentar hacerlo con CMultiFileUpload
  #6 (permalink)  
Antiguo 14/02/2014, 14:06
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 13 años, 4 meses
Puntos: 4
Respuesta: PHp y yii

LO estoy revisando y me sale un error
include(Picture.php): failed to open stream: No such file or directory,

y esta linea que hace por que creo que el error que muestra debe ser en esta linea $img_add = new Picture();

Este widget no los carga todos al tiempo, con este toca entrar seleccionar uno, entrar otra ves y etc entonces no me sirve como lo necesito por favor me podrias ayudar!!
  #7 (permalink)  
Antiguo 17/02/2014, 11:21
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 13 años, 4 meses
Puntos: 4
valor multiple

Hola, necesito un favor como puedo guardar los datos seleccionados en un file, me explico, tengo un campo declarado como multiple, para que tome varios archivos seleccionados al tiempo

Código PHP:
Ver original
  1. <input type="file" name="Ruta" multiple="multiple" />

pero no se como tomar la ruta de cada uno de los archivos que yo cargo en mi campo file para estas rutas insertarlas en la base de datos por separado es decir cada uno en un registro diferente agradezco toda la ayuda que me puedan brindar!!
  #8 (permalink)  
Antiguo 17/02/2014, 13:05
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: valor multiple

Así como $_POST y $_GET son arrays asociativos los cuales pueden contener N datos organizados por los nombres de los campos a los que los valores contenidos pertenecían, con $_FILES también tienes un array asociativo de una cantidad N de archivos que haya cargado el usuario en el input.

Ya que se trata de un array, la inserción de los datos la puedes hacer utilizando un bucle.

Código HTML:
Ver original
  1. <form action = "ejemplo.php" method = "post" enctype = "multipart/form-data">
  2.     Selecciona: <input type = "file" multiple = "multiple" name = "fotos[]" />
  3.     <input type = "submit" value = "Subir" />
  4. </form>

Código PHP:
Ver original
  1. foreach ($_FILES["fotos"]["name"] as $clave => $valor) {
  2.     $nombre = $_FILES["fotos"]["name"][$clave];
  3.     $tmp = $_FILES["fotos"]["tmp_name"][$clave];
  4.     $ruta = "../imagenes/";
  5.    
  6.     //Guardo la imagen en el servidor
  7.     move_uploaded_file($tmp, $ruta . $nombre);
  8.  
  9.     //Guardo el nombre de la imagen en la BD
  10.     mysqli_query($conexion, "INSERT INTO tabla (imagen) VALUES ('$nombre')");
  11. }

Itero en base al array name que se encuentro dentro del array fotos y este dentro del array $_FILES ya que su tamaño se corresponde con la cantidad de archivos subidos, aunque hubiera dado lo mismo si iterábamos sobre otro de los arrays de fotos, tales como type, tmp_name, error o size.

Este es un ejemplo simple, sin embargo, sería mejor si restringieras la subida de determinados tipos de archivo, así como comprobar que no hubo un error en la subida de cada imagen y si ninguna de éstas existe ya en la BD y en el servidor. No olvides colocar los [] en el nombre del input para que pueda ser tratado como un array de imágenes y así puedas iterar.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 17/02/2014, 14:40
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 13 años, 4 meses
Puntos: 4
Respuesta: valor multiple

Gracias y por pura casualidad sabes utilizar yii framework??
  #10 (permalink)  
Antiguo 17/02/2014, 14:46
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: valor multiple

No, prefiero escribir mis propios algoritmos.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #11 (permalink)  
Antiguo 17/02/2014, 16:45
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 13 años, 4 meses
Puntos: 4
Respuesta: valor multiple

Listo, Gracias una pregunta o ayuda, no se como me estan pidiendo que cargue archivos como lo hace facebook, que al seleccionar las fotos se agregen con un campo para agregar comentario, pero todo esto varia segun las imagenes que selecciones tipo facebook.

Gracias por toda la ayuda que me puedan brindar
  #12 (permalink)  
Antiguo 17/02/2014, 17:26
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 9 meses
Puntos: 1146
Respuesta: valor multiple

Y cual es el código que usas? vamos no somos escuela y no hacemos trabajos gratis ni de caridad...

Por favor muéstranos tu trabajo y dinos que problema tienes para orientarte y/o ayudarte a solucionarlo.


SIN CÓDIGO NO HAY AYUDA.
  #13 (permalink)  
Antiguo 18/02/2014, 14:22
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 13 años, 4 meses
Puntos: 4
Respuesta: valor multiple

Hola mUchas gracias yo estoy trabajando en Yii framework

entonces este trabaja bajo modelo vista controlador

tengo un form que muestra como tal el campo para cargar archivos
Código PHP:
Ver original
  1. <?php  echo $form->labelEx($model, 'Ruta'); ?>  
  2. <?php  echo $form->fileField($model, 'Ruta', array('multiple'=>"multiple")); ?>
  3. <?php  echo $form->error($model, 'Ruta'); ?>  
  4.  
  5. <div class="Col-md-10">
  6.    <?php echo CHtml::submitButton($model->isNewRecord ? 'Subir' : 'Save'); ?>
  7. </div>

este es el controlador donde va toda la parte logica este metodo guarda los datos en la base de datos
Código PHP:
Ver original
  1. public function actionCreate() {
  2.        
  3.        if (isset($_POST['Documentos'])) {
  4.             $model->attributes = $_POST['Documentos'];
  5.  
  6.             $subiendoImagen = CUploadedFile::getInstance($model, 'Ruta');
  7.             $imgNombre = "{$subiendoImagen}";  // numero aleatorio  + nombre de archivo
  8.             $model->Ruta = $imgNombre;
  9.  
  10.             if ($model->save())
  11.                 $subiendoImagen->saveAs(Yii::app()->basePath . '/imagenes/' . $imgNombre);
  12.             $this->redirect(array('view', 'id' => $model->ID));
  13.         }
  14.         $this->render('create', array('model' => $model,));
  15.     }

Estonces lo que pasa es que no se como ingresar todas las imagenes que esten cargadas en ese campo de file es decir guardarlas en la base de datos


SI me pudieran dar un ejemplo o ayudar se los agradecería mucho!!!
  #14 (permalink)  
Antiguo 19/02/2014, 09:55
Avatar de JeMaGa  
Fecha de Ingreso: julio-2011
Ubicación: Bogota
Mensajes: 430
Antigüedad: 13 años, 4 meses
Puntos: 4
Respuesta: PHp y yii

Hola logre lo que necesitaba gracias

Etiquetas: php, registro, valor, yii
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:21.