Foros del Web » Programando para Internet » PHP »

Problema con banco de fotos dinamico

Estas en el tema de Problema con banco de fotos dinamico en el foro de PHP en Foros del Web. Lo primero saludar a todos los miembros del foro y agradecer la gran ayuda que me han aportado en mi evolución como programnador. Necesitaría ayuda ...
  #1 (permalink)  
Antiguo 23/01/2010, 07:38
 
Fecha de Ingreso: enero-2010
Mensajes: 22
Antigüedad: 14 años, 2 meses
Puntos: 0
Problema con banco de fotos dinamico

Lo primero saludar a todos los miembros del foro y agradecer la gran ayuda que me han aportado en mi evolución como programnador.

Necesitaría ayuda con un problema puntual que me surje al crear un banco de fotos dinámico para una web, he estado buscando por los miles de post pero no he encontrado nada parecido.

La idea es que desde la administración de la web puedas crear y moverte por las diferentes carpetas e ir añadiendo fotos en la que quieras. Dejo una imágen para que veais el trabajo:



Mi problema es que cuando no existe ninguna carpeta quiero que escriba "aun no se ha creado ninguna carpeta" .... y no hay forma... agradecería vuestra ayuda.

Dejo el codigo poniendo en negrita la parte que no funciona:

<?php
$carpeta=opendir('c:/xampp/htdocs/php/22_1_10/galerias/'.$_GET['sub']);
$contador=0;
$contador2=0;
$contenido=readdir($carpeta);
do{
if($contenido=='..'){
$contenido=readdir($carpeta);
continue;}
if($contador==6){
echo '<tr>';
$contador=0;}
$partes=explode('.',$contenido);
$extension=end($partes);
if($extension=='jpg'){
echo '<td align="center" style="padding:10px;">';
echo '<a href="../galerias/'.$_GET['sub'].'/'.$contenido.'" target="_blank">';
echo '<img src="../galerias/'.$_GET['sub'].'/'.$contenido.'" border=0 width="50" height="50"></a><br> ';
echo $contenido.'<br>';
echo '<a href="borrafoto.php?sub='.$_GET['sub'].'&sec='.$contenido.'">';
echo '<img src="x.jpg" border=0></a>';
echo '</td>';
}else{
if($contenido=='.' && $_GET['sub']=='.'){
$contenido=readdir($carpeta);
continue;
}elseif($contenido=='.' && !$_GET['sub']){
$contenido=readdir($carpeta);
continue;
}elseif($contenido=='.' && $_GET['sub']!='.'){
echo '<td align="center" style="padding:10px;">';
echo '<a href="index.php?sub='.$contenido.'">';
echo '<img src="flechaatras.jpg" border=0></a><br>Volver atr&aacute;s<br>';
}elseif($contenido==false && $contador2==0){
echo '<td>';
echo 'Aún no se ha creado ninguna galería';

echo '</td>';
}else{
echo '<td align="center" style="padding:10px;">';
echo '<a href="index.php?sub='.$contenido.'">';
echo '<img src="carpeta.jpg" border=0></a><br>'.$contenido.'<br>';
echo '<a href="borracarpeta.php?sub='.$contenido.'" onclick="return confirmacion();">';
echo '<img src="x.jpg" border=0></a>';
echo '</td>';
}
}
$contador++;
$contador2++;
}while($contenido=readdir($carpeta));
closedir($carpeta);
?>
  #2 (permalink)  
Antiguo 23/01/2010, 07:56
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Problema con banco de fotos dinamico

El problema debe estar en que la variable $contenido es distinta de false y no se t esta cumpliendo ese if, y al pasar por ahi el $contador2 suma 1 a su valor actual, lo que en la proxima vuelta, por mas que se cumple $contenido, hara q no se cumpla lo otro....

Si no hay nada en el directorio, para que sigues leyendo? Porque no le pones un break; si se cumple esa condicion?

Trata de poner un echo $contenido y echo $contador2 antes de ese if a ver que es lo que contienene esas variables.
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 23/01/2010, 08:42
 
Fecha de Ingreso: enero-2010
Mensajes: 22
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema con banco de fotos dinamico

Gracias por la respuesta.

he puesto el echo antes del if, $contenido no contiene nada y $contador2 contiene 0, por lo tanto la condición se debería cumplir, el problema debe estar en que otra condición anterior mande el cursor al principio del bucle sin llegar ahí, pero no veo cual...

por lo que me dices del break tienes razón, no hay porqué seguir leyendo si se cumple esa condición, ya está puesto.

a ver si consigo solucionar esto, si no pues dejaré el hueco vacío cuando no hay carpetas que mostrar, aunque quede menos profesional jeje
  #4 (permalink)  
Antiguo 23/01/2010, 08:44
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Problema con banco de fotos dinamico

En realidad si $contenido no tiene nada, hay otro problema.... Pues si tuviese un booleano te hubiera impreso un 0 o un 1!
__________________
HV Studio
Diseño y desarrollo web
  #5 (permalink)  
Antiguo 23/01/2010, 09:43
 
Fecha de Ingreso: enero-2010
Mensajes: 22
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema con banco de fotos dinamico

creo que no es así... php devuelve 1 cuando es true y nada cuando es false, que alguien me corrija si no estoy en lo cierto.

de todas formas agradezco sinceramente tu interés, el codigo que he puesto es bastante complejo como para leerlo y opinar desinteresadamente, si te pudiera dar un karma o algo así lo haría pero no tengo esa opción, so sé si es porque soy nuevo en el foro...
  #6 (permalink)  
Antiguo 23/01/2010, 10:20
 
Fecha de Ingreso: enero-2010
Mensajes: 152
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: Problema con banco de fotos dinamico

Toda carpeta siempre tendrá por lo menos dos subdirectorios: "." y "..", de manera que tu contador siempre será mínimo de 2, y $contenido siempre será verdadero.
  #7 (permalink)  
Antiguo 23/01/2010, 11:19
 
Fecha de Ingreso: enero-2010
Mensajes: 22
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema con banco de fotos dinamico

gracias paynalton por tu interés.

tienes razón en que toda carpeta siempre tiene mínimo 2 subdirectorios, pero si te fijas hay 2 if anteriores que consideran esa opción, uno para el "." y otro para el ".." y mandan el cursor al principio del bucle sin que incremente el contador.

se supone que si no hay nada en el directorio, es a la tercera pasada cuando devolverá el valor false, pero no entiendo por que no lo coge...

de momento he pasado del tema y estoy terminando el resto del programa, he tenido que tomarme un gelocatil porque me estaba doliendo ya la cabeza de tanto darle vueltas a lo mismo :S, a ver si mientras alguno de vosotros da en el clavo o baja un angel y me ilumina jajaja

Etiquetas: banco, dinamico, fotos
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 18:33.