Foros del Web » Programando para Internet » PHP »

subida de imagenes

Estas en el tema de subida de imagenes en el foro de PHP en Foros del Web. hola tengo un scriopt con el cual puedo suvir varias imagenes el problema viene cunado intento subir mas de 5 imagenes osea intento subir 7 ...
  #1 (permalink)  
Antiguo 21/12/2008, 06:33
 
Fecha de Ingreso: mayo-2007
Mensajes: 51
Antigüedad: 16 años, 11 meses
Puntos: 0
subida de imagenes

hola tengo un scriopt con el cual puedo suvir varias imagenes el problema viene cunado intento subir mas de 5 imagenes osea intento subir 7 imagenes y solo sube 5 intento subir 6 y pasa lo msimo solo sube 5 imagenes bueno en realidad sube 10 ya que cada vuelta que ago subo un thumbnail y la imagen real que peude estar ocurriendo e probado a utilizar el script sin validaciones y sucede lo smimo cual puede eser el problema... tampoco me tira ningun error el servidor es mas el script termina por compelto ya que hace la redireccion hacia la pagina correcta al terminar el script save alguien que puede estar pasando o si es alguna limitacion de php o alguna cosa por el estilo.

saludos.

pd: es posibvle que

( $archivo = $_FILES["imagenes"];
$count = count($archivo);
for($i=0;$i<$count;$i++){
//inseción de imagen
)

ese b ucle solo coja hasta 5 repeticiones en $_FILES["imagenes"]

saludos :D y gracias de antemano


bueno edito informacion acabo de darme cuenta que el erro esta en el bucle que al parecer no ahce bien la ceunta osea el bucle al recibir el numero de repeticiones que tiene que hacer $count = count($archivo); no cunta mas alla de 5 opsea pr mas inputs que aya solo cuenta hasta 5 por que pasa esto ?? bueno aver si alguien save :D

Última edición por ddanime; 21/12/2008 a las 06:48 Razón: error en count files
  #2 (permalink)  
Antiguo 21/12/2008, 06:47
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: subida de imagenes

Hola

haz un echo de $count a ver que numero imprime si pones mas de 5 archivos.

y revisa la funcion count en el manual.

Un saludo
  #3 (permalink)  
Antiguo 21/12/2008, 06:50
 
Fecha de Ingreso: mayo-2007
Mensajes: 51
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: subida de imagenes

esacto acabo de editar mi mensaje ahi esta el problema en el count que solo cuenta hasta 5 no cuenta mas por que sucede esto.

gracias por responder :D
  #4 (permalink)  
Antiguo 21/12/2008, 06:51
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: subida de imagenes

Pon el codigo completo de como haces para subir y contar todas las imagenes.

Un saludo
  #5 (permalink)  
Antiguo 21/12/2008, 07:00
 
Fecha de Ingreso: mayo-2007
Mensajes: 51
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: subida de imagenes

function redimensionar($type, $img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad)
{
$defecto = 'img/defecto.jpg';
if(file_exists($img_original)) {
// crear imagen desde original
$type=strtolower($type);
switch($type)
{
case 'jpeg': $img = ImageCreateFromJPEG($img_original); break;
case 'jpg': $img = ImageCreateFromJPEG($img_original); break;
case 'png': $img = ImageCreateFromPNG($img_original); breaK;
case 'gif': $img = ImageCreateFromGIF($img_original); breaK;
case 'wbmp': $img = ImageCreateFromWBMP($img_original); break;
default: $img = ImageCreateFromJPEG($defecto); break;
}
} else {
$img = ImageCreateFromJPEG($defecto);
}
if(!empty($img)) {
$new_w_R = ImageSX($img);
$new_h_R = ImageSY($img);
//$img_nueva_altura = 50;
// se calcula la relación alto/ancho
$aspect_ratio = $new_h_R/$new_w_R;
$aspect_ratio2 = $new_w_R/$new_h_R;

// se ajusta al nuevo tamaño
$img_nueva_altura = abs($img_nueva_anchura * $aspect_ratio);

// crear imagen nueva

$thumb = ImageCreateTrueColor($img_nueva_anchura,$img_nueva _altura);
// redimensionar imagen original copiandola en la imagen. La imagen se reajustará al nuevo tamaño
ImageCopyResampled($thumb,$img,0,0,0,0,$img_nueva_ anchura,
$img_nueva_altura,ImageSX($img),ImageSY($img));
// guardar la imagen redimensionada donde indica $img_nueva
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
}
}
function redimensionar2($type, $img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad)
{
$defecto = 'img/defecto.jpg';
if(file_exists($img_original)) {
// crear imagen desde original
$type=strtolower($type);
switch($type)
{
case 'jpeg': $img = ImageCreateFromJPEG($img_original); break;
case 'jpg': $img = ImageCreateFromJPEG($img_original); break;
case 'png': $img = ImageCreateFromPNG($img_original); breaK;
case 'gif': $img = ImageCreateFromGIF($img_original); breaK;
case 'wbmp': $img = ImageCreateFromWBMP($img_original); break;
default: $img = ImageCreateFromJPEG($defecto); break;
}
} else {
$img = ImageCreateFromJPEG($defecto);
}
if(!empty($img)) {
$new_w_R = ImageSX($img);
$new_h_R = ImageSY($img);
//$img_nueva_altura = 50;
// se calcula la relación alto/ancho
$aspect_ratio = $new_h_R/$new_w_R;
$aspect_ratio2 = $new_w_R/$new_h_R;

// se ajusta al nuevo tamaño
$img_nueva_altura = $new_h_R;
$img_nueva_anchura = $new_w_R;

// crear imagen nueva

$thumb = ImageCreateTrueColor($img_nueva_anchura,$img_nueva _altura);
// redimensionar imagen original copiandola en la imagen. La imagen se reajustará al nuevo tamaño
ImageCopyResampled($thumb,$img,0,0,0,0,$img_nueva_ anchura,
$img_nueva_altura,ImageSX($img),ImageSY($img));
// guardar la imagen redimensionada donde indica $img_nueva
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
}
}
$archivo = $_FILES["imagenes"];
$count = count($archivo);
for($i=0;$i<$count;$i++){
//inseción de imagen
//$fileName = $max."_".$_FILES['userfile']['name'];
$extension = explode("/",$_FILES['imagenes']['type'][$i]);
//$fileName = $extension[0].".".$extension[1];
$fileName = $referencia.".".$extension[1];

$tmpName = $_FILES['imagenes']['tmp_name'][$i];
$fileSize = $_FILES['imagenes']['size'][$i];
$fileType = $_FILES['imagenes']['type'][$i];
//echo $tmpName;
$uploaddir = "/var/www/vhosts/ddanime.org/httpdocs/raw/img/";
$uploadfile = $uploaddir . $fileName ;
$uploaddirbd = "/raw/img/";

if (move_uploaded_file($tmpName, $uploadfile)) {
chmod($uploadfile, 0644);
//echo "File is valid, and was successfully uploaded.\n";
//redimensionar
$source=$uploadfile; // archivo de origen
$query_img=mysql_query("select * from imagenes_raw order by id_img desc");
$array_img_=mysql_fetch_array($query_img);
$id_img_dos=$array_img_[id_img]+1;
$dest=$uploaddir.$referencia."th_".$id_raw."_".tex t2url($v_titulo)."_".$i."_".$id_img_dos.".".$exten sion[1]; // archivo de destino
$dest2=$uploaddir.$referencia.$id_raw."_".text2url ($v_titulo)."_".$i."_".$id_img_dos.".".$extension[1]; // archivo de destino
$dir_img=$uploaddirbd.$referencia."th_".$id_raw."_ ".text2url($v_titulo)."_".$i."_".$id_img_dos.".".$ extension[1];
// Ejemplo

redimensionar($extension[1],$source,$dest,150,85,95);
redimensionar2($extension[1],$source,$dest2,$new_w_R,$new_h_R,95);
//finredimensionar

mysql_query("insert into ....);
} else {
// echo "Possible file upload attack!\n";
//echo 'Here is some more debugging info:';
//print_r($_FILES);
}

ahi tienes el codigo
  #6 (permalink)  
Antiguo 21/12/2008, 07:00
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: subida de imagenes

o puedes provar asi:

$numero = count($_FILES["imagenes"]);

for($i=0;$i<$numero;$i++){
//inseción de imagen )
  #7 (permalink)  
Antiguo 21/12/2008, 07:11
 
Fecha de Ingreso: mayo-2007
Mensajes: 51
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: subida de imagenes

el mismo resultado
es lo mismo que antes :D
  #8 (permalink)  
Antiguo 21/12/2008, 07:17
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: subida de imagenes

Siempre va a devolver 5, porque dentro del array $_FILES['imagenes'] siempre hay:
1. $_FILES['imagenes']['tmp_name']
2. $_FILES['imagenes']['name']
3. $_FILES['imagenes']['size']
4. $_FILES['imagenes']['type']
5. $_FILES['imagenes']['error']

Usa count($_FILES['imagenes']['name']).
  #9 (permalink)  
Antiguo 21/12/2008, 07:21
 
Fecha de Ingreso: mayo-2007
Mensajes: 51
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: subida de imagenes

jasjajajajajaja calro jajaajajaj increible vaya tonteria era jejejeje gracias amigo mucahs gracias a lso dos no abia caido en eso jejeje

diso estoy muerto risa jajaj muchisimas ghracias a lso dos por vuestra rapides gracias :d
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 16:24.