Comunidad de diseño web y desarrollo en internet online

subir y mostrar solo 5 imagenes por usuario en su perfil

Citar            
MensajeEscrito el 21 Dic 2010 11:14 pm
hola a todos, bueno estoy tratando de mostrar las imagenes que subo mediante un form a una carpeta por usuario, pero necesito limitar la cantidad de imagenes a mostrar por usuario en la pagina, por ejemplo si el usuario sube mas de 5 imagenes , solo se van a mostrar 5 imagenes en su pagina de perfil, como puedo hacer eso?
aqui tengo el codigo que esty usando para mostrar las imagenes pero se muestran todas.
alguna idea de como resolverlo? gracias de antemano

<?


$thumbs_dir = "../sister/$username/"; $dir = opendir($thumbs_dir);

while ( $file = readdir($dir)) { if ($file != "." && $file !=

".." ) { echo "<table style='float:left;'><tr><td

class='divider'>

<img src='$thumbs_dir$file' border='0' width= '90' height=

'90' style ='float:left;' onMouseOver=this.src='$thumbs_dir

$file';this.height=400;this.width=400
onMouseOut=this.src='$thumbs_dir$file';this.height=90;this.width=90
/><br><br><br><br><br><br><a href=\"deleteimage.php?imageid=

$file&action=delete\"> delete</a></td></tr></table>";

}}


?>

Por nihao

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 21 Dic 2010 11:48 pm
pues ponle un contador interno

y luego sales del bucle con un "break;" nombre especial en php

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 22 Dic 2010 12:42 am
disculpa , pero no entiendo!, estaba tratando de incorporar, esto
for ($i = 5; $i<count($files); i++), pero no me resulta

si me puedes guiar un poco , lo agradeceria.

Por nihao

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 22 Dic 2010 02:06 pm
ok un ejemplo

Código PHP :

   $es_verdad = true;
   $incrementador = 0;
   while($es_verdad )
   {
      if($incrementador > 4)
      {
         break;//rompemos el bucle en cuanto incrementador sea mayor a 4
      }
      $incrementador++;//cada vez que el bucle pasa por aqui $incrementador aumenta en 1
   }
   echo $incrementador;//mostramos en cuanto se quedo incrementador

mira tienes que notar que existe incrementadores ++ y su opuesto decrementadores -- lo que hace es redurcir el valor de la variable en uno en tu for deberias de hacer un decrementador

Código PHP :

<?php
// lo que indicamos es que $i empieza en 5 mientras $i > 0 ($i sea mayor a 0) seguir haciendo el bucle 
//y como usamos el decrementador $i se reducira en 1 cada vez que pase el bucle
//for(<valor inicial>; <condicion>; <tipo de de/in cremento>) esta es la estructura de un for
   for ($i = 5; $i > 0; $i--)
   {
      //alguna accion ya que solo hara 5
   }
//un tip: si quieres hacer un for  con etiquetas html y queires oviar "echo"s entonces usa la otra forma
?>
<?php for ($i = 5; $i > -5; $i--):?>
<div><?php echo $i;?> : uso dreamweaver Y que</div>
<?php endfor;?>

bueno espero me hayas comprendido buena suerte y lee lee mucho jeje

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 22 Dic 2010 02:27 pm
Si unicamente vas a mostrar 5 fotos puedes listar los archivos con esta funcion :
function list_img($url_dir,$url_img){
$dir = opendir($url_dir);

$images = "<div id='galleria' height='200' width='200'>";
while($listar_d = readdir($dir)){
if ($listar_d[0] != "." && $listar_d[0] != ".." ){
if($public){
$images .= "<img class='photo' src='".$url_img.$listar_d."'/>";

}


}
$images .= "</div>";
return $images;
closedir($dir);
}

Esta función te lista las imagenes de una carpeta, podrias agregarle un contador y revisar la existencia del archivo nomas

Saludols

Por jacr1102

50 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Dic 2010 04:06 pm
tengo esto, pero lo que hace es repetirme la imagen que subo 5 veces, quizas estoy haciendo un error que no me estoy dando cuenta, pero me gustaria que independiente de las imagenes que suba , solo me muestre 5 imagenes.
trate de asignarle a $i = 1 ; para que asi no se repitan las imagenes, y se soluciona, pero me muestra todas las imagenes que subo. si me pueden decir en que estoy fallando, por favor.



<?
for ($i = 5; $i > 0; $i--) {

$thumbs_dir = "../sister/$username/"; $dir = opendir($thumbs_dir);

while ( $file = readdir($dir)) { if ($file != "." && $file !=

".." ) { echo "<table style='float:left;'><tr><td

class='divider'>

<img src='$thumbs_dir$file' border='0' width= '90' height=

'90' style ='float:left;' onMouseOver=this.src='$thumbs_dir

$file';this.height=400;this.width=400
onMouseOut=this.src='$thumbs_dir$file';this.height=90;this.width=90
/><br><br><br><br><br><br><a href=\"deleteimage.php?imageid=

$file&action=delete\"> delete</a></td></tr></table>";

}}
}

?>

Por nihao

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 30 Dic 2010 04:14 pm
ahh se me olvido agregarle el break; , sorry , ahora voy a ver si queda bien

Por nihao

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 30 Dic 2010 04:30 pm
no , no pasa nada

Por nihao

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 30 Dic 2010 08:10 pm
mm pues el for es un bucle y el while es otro
y estas usando los dos uno anidado en otro
lo que deberias hacer es suar un bucle solmanente

Código PHP :

<?

$thumbs_dir = "../sister/$username/";
$dir = opendir($thumbs_dir);
for ($i = 5; $i > 0; $i--)
{
   $file = readdir($dir);
   if($file === false)
   {
      break;
   }
   if ($file != "." && $file !=".." )
   {
echo "<table style='float:left;'><tr><td class='divider'>

<img src='$thumbs_dir$file' border='0' width= '90' height='90' style ='float:left;'
onMouseOver=this.src='$thumbs_dir
$file';this.height=400;this.width=400
onMouseOut=this.src='$thumbs_dir$file';this.height=90;this.width=90
/><br><br><br><br><br><br><a href=\"deleteimage.php?imageid=

$file&action=delete\"> delete</a></td></tr></table>";

   
   }
}

?> 

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 06 Ene 2011 03:42 pm
perfecto, ahora sip se puede, ademas le agregue la variable $exclude[], para poder excluir el archivos de texto, como el index.php que esta en el mismo folder, bueno muhas gracias por la gran ayuda, gracias.
aqui dejo el codigo listo .


<?
$exclude[] = "index.php";


$thumbs_dir = "../sister/$username/";$dir = opendir($thumbs_dir);
for ($i = 5; $i > 0; $i--) { $file = readdir($dir); if($file === false) { break; }

if ($file != "." && $file !=".." ) {

if (!in_array($file, $exclude)) {

echo "<table style='float:left;'><tr><td class='divider'> <img src='$thumbs_dir$file' border='0' width= '140' height='150' style='float:left;' onMouseOver=this.src='$thumbs_dir $file';this.height=350;this.width=340 onMouseOut=this.src='$thumbs_dir$file';this.height=150;this.width=140 /><br>
<div class='clear'></div>
<a href=\"deleteimage.php?imageid=$file&action=delete\">delete</a>
</td>
</tr>
</table>"; } } }
?>

Por nihao

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 27 Ene 2011 04:52 pm
hola , me surgio un problema recien con el codigo de subir imagenes mediante el contador, que fue 5 imagenes, estaba todo resultando bien, pero me di cuenta que por ejemplo si le pongo para que muestre solo 5 imagenes, pero en windows 7 profesional muestra bien las 5 fotos, pero en windows 7 ultimate permite subir 6 fotos y no 5 como deberia ser.
no esperaba este problema, como se puede solucionar?
quedo atento a alguna comentario de ayuda, muchas gracias

Por nihao

46 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Ene 2011 06:06 pm
a ver , por lo visto no es del Sistema Operativo, por lo visto cuando le pongo 5 al contador, me muestra 3 fotos, cuando ingreso 4 me muestra 2 fotos, si ingreso 8 me muestra 5 fotos, por que sera eso?

Por nihao

46 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.