Foros del Web » Programando para Internet » PHP »

Modificar para subir varias imagenes a la vez

Estas en el tema de Modificar para subir varias imagenes a la vez en el foro de PHP en Foros del Web. Hola como estan, Miren tengo las siguientes funciones de una galeria de imagenes que sube una sola a la vez y estoy intentando modificarla para ...
  #1 (permalink)  
Antiguo 15/01/2010, 18:32
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Modificar para subir varias imagenes a la vez

Hola como estan,

Miren tengo las siguientes funciones de una galeria de imagenes que sube una sola a la vez y estoy intentando modificarla para que suba al menos 5.

/*----------------BOTON SUBIDA----------------------*/

function theme_filefield_widget_item($element) {
// Put the upload button directly after the upload field.
$element['upload']['#field_suffix'] = drupal_render($element['filefield_upload']);
$element['upload']['#theme'] = 'filefield_widget_file';

$output = '';
$output .= '<div class="filefield-element clear-block">';

if ($element['fid']['#value'] != 0) {
$output .= '<div class="widget-preview">';
$output .= drupal_render($element['preview']);
$output .= '</div>';
}

$output .= '<div class="widget-edit">';
$output .= drupal_render($element);
$output .= '</div>';
$output .= '</div>';

return $output;
}



/*----------------CAMPO DE CARGA----------------------*/


function theme_filefield_widget_file($element) {
$output = '';

$output .= '<div class="filefield-upload clear-block">';

if (isset($element['#field_prefix'])) {
$output .= $element['#field_prefix'];
}

_form_set_class($element, array('form-file'));
$output .= '<input type="file" name="'. $element['#name'] .'"'. ($element['#attributes'] ? ' '. drupal_attributes($element['#attributes']) : '') .' id="'. $element['#id'] .'" size="'. $element['#size'] ."\" />\n";

if (isset($element['#field_suffix'])) {
$output .= $element['#field_suffix'];
}

$output .= '</div>';

return theme('form_element', $element, $output);
}



la cosa es que he intentado modificarla pero al subir las imagenes solo termina subiendo la ultima, espero que puedan ayudarme a modificarla, me seria de mucha ayuda.

Gracias de antemano.
  #2 (permalink)  
Antiguo 16/01/2010, 17:07
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Modificar para subir varias imagenes a la vez

Hola
y en que parte intentas hacer la repetición??
  #3 (permalink)  
Antiguo 16/01/2010, 20:03
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Modificar para subir varias imagenes a la vez

Hola amigo como estas,

Pues el codigo con el que esta buscando las imagenes este;


_form_set_class($element, array('form-file'));
$output .= '<input type="file" name="'. $element['#name'] .'"'. ($element['#attributes'] ? ' '. drupal_attributes($element['#attributes']) : '') .' id="'. $element['#id'] .'" size="'. $element['#size'] ."\" />\n";

he probado a poner un bucle for, o simplemente repetir el codigo varias veces pero solo acaba subiendo la ultima creo que el problema esta en alguna variable que se qeda solo con el ultimo valor, la 1º funcion que esta en el mensaje, pone el boton para pulsar y subir y la 2º donde se encuentra este trozo pone el campo para buscarla y ponerla.


Un saludo
  #4 (permalink)  
Antiguo 17/01/2010, 00:22
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Modificar para subir varias imagenes a la vez

Hola
Bueno, no he manejado mucho drupal que al parecer es algo que usas,
pero me aventuro a decir que $element es la variable que tiene las
imagenes, por ende agregaría un for o un foreach que recorra todos los
elementos de esa variable, y en ese ciclo ocurra lo que ya tienes vos
espero haber dado alguna idea, pues no creo que tenga el
conocimiento completo de lo que estas manejando,
saludos
  #5 (permalink)  
Antiguo 18/01/2010, 05:46
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Modificar para subir varias imagenes a la vez

Hola de nuevo amigo, en 1º lugar darte las gracias por la ayuda.

Lo que estoy usando es una galeria llamada pingVision desarrollada para atrium: http://features.pingv.com/node/4


Creo que es una buena idea la del foreach para hacernos una idea escribo el codigo como quedaria.


$valor=5;

foreach($element as $valor) {

_form_set_class($element, array('form-file'));
$output .= '<input type="file" name="'. $element['#name'] .'"'. ($element['#attributes'] ? ' '. drupal_attributes($element['#attributes']) : '') .' id="'. $element['#id'] .'" size="'. $element['#size'] ."\" />\n";

}


Piensas que podria funcionar correctamente este codigo?

Un saludo y gracias por la atencion
  #6 (permalink)  
Antiguo 18/01/2010, 15:04
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Modificar para subir varias imagenes a la vez

Hola
Bueno, pues se ve bien, sin embargo si presenta inconvenientes
intentaria usar $valor en vez de $element en el código que esta
dentro del foreach, ya que en cada iteración si mal no recuerdo
lo que esta como AS toma el valor actual, bueno, intentalo y nos
comentas que resultados obtenes
saludos
  #7 (permalink)  
Antiguo 18/01/2010, 16:41
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Modificar para subir varias imagenes a la vez

Hola como esta,


Pues para empezar he probado a colorcar este codigo:

$valor=5;

foreach($element as $valor) {

_form_set_class($element, array('form-file'));
$output .= '<input type="file" name="'. $element['#name'] .'"'. ($element['#attributes'] ? ' '. drupal_attributes($element['#attributes']) : '') .' id="'. $element['#id'] .'" size="'. $element['#size'] ."\" />\n";

}

Tal como escribi en el mensaje y el resultado es que en vez de crear 5 campos para subir las imagenes esta creando 24 no entiendo muy bien por que y en segundo lugar ninguno de los 24 campos sube la imagen.

He cambiado el codigo poniendo la variable valor dentro del foreach de este modo:


$valor=1;

foreach($element as $valor) {

_form_set_class($element, array('form-file'));
$output .= '<input type="file" name="'. $valor['#name'] .'"'. ($valort['#attributes'] ? ' '. drupal_attributes($valor['#attributes']) : '') .' id="'. $valor['#id'] .'" size="'. $valor['#size'] ."\" />\n";

}

Arrojando el mismo resultado y finalmente he probado de la siguiente manera:


$valor=1;

foreach($element as $valor) {

_form_set_class($valor, array('form-file'));
$output .= '<input type="file" name="'. $valor['#name'] .'"'. ($valort['#attributes'] ? ' '. drupal_attributes($valor['#attributes']) : '') .' id="'. $valor['#id'] .'" size="'. $valor['#size'] ."\" />\n";

}


Dando un error y no mostrando nada en la pagina.


No se me ocurre que puede estar pasando. Una segunda opcion que se me ocurre es crear mi propia funcion haciendo una conexion a la base de datos en la que guardas la imagenes y subirlas, entonces la funcion que ya tiene que le esa tabla tambien leeria las imagenes que suba con mi nueva funcion, que le parece.


Un saludo
  #8 (permalink)  
Antiguo 18/01/2010, 17:57
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Modificar para subir varias imagenes a la vez

Hola
Bueno, pues me parece buena opción la de hacer función por aparte, sin embargo, veo que usas $valor y $valort en el input type=file, es esa otra variable en uso?

saludos

Etiquetas: imagenes, modificar, subir
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 22:47.