Foros del Web » Programando para Internet » PHP »

[Ayuda] Problema raro con galeria php

Estas en el tema de [Ayuda] Problema raro con galeria php en el foro de PHP en Foros del Web. Hola a todos! Recurro a ustedes por un problema bastante raro que tengo con una galería PHP que estoy haciendo para una web. Voy al ...
  #1 (permalink)  
Antiguo 08/08/2008, 12:58
 
Fecha de Ingreso: julio-2007
Mensajes: 24
Antigüedad: 16 años, 9 meses
Puntos: 0
[Ayuda] Problema raro con galeria php

Hola a todos! Recurro a ustedes por un problema bastante raro que tengo con una galería PHP que estoy haciendo para una web.

Voy al grano, la galería crea automáticamente los thumbnails de las fotos que hay en 'x' directorio. Usando la IP del sitio web donde está alojada la página en cuestión el sistema crea las miniaturas sin problemas y todo funciona perfecto, el problema es que cuando ingreso por la URL del sitio web el sistema NO me crea las miniaturas, hace absolutamente todo excepto crear las imágenes de las miniaturas...

Realmente me desconcertó.. espero puedan tirarme algún dato para poder resolver esto, desde ya agradezco a todo aquel que responda :)

Datos: uso paths relativos - los directorios tienen los permisos necesarios

Saludos!
  #2 (permalink)  
Antiguo 08/08/2008, 13:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: [Ayuda] Problema raro con galeria php

Hola barlucas,

Si expones el código que utilizas es más probable que podamos ver donde esta el error.

Saludos.
  #3 (permalink)  
Antiguo 08/08/2008, 13:31
 
Fecha de Ingreso: julio-2007
Mensajes: 24
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: [Ayuda] Problema raro con galeria php

Bueno, incluyo todo el código pero la parte que crea los thumbs es la que está justamente comentana como "CREANDO LAS MINIATURAS"

Código PHP:
<?php

global $crearthumb;

function 
noesfotoprincipal($dire) {

    
$nombre_foto basename($dire,".jpg");
    
    
$con=mysql_connect('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
    
mysql_select_db("xxxxxxxxxxx",$con);
    
$consulta="SELECT * FROM `eventos` WHERE `foto_princ` LIKE '" $nombre_foto "' LIMIT 1";
    
$datos mysql_query($consulta$con) or die ("Error al Ejecutar la Consulta: ".mysql_error()); 
    
    while (
$row mysql_fetch_row($datos)){
    
$foto_princ "$row[4]";
    }

    if (
$nombre_foto == $foto_princ
    {
        return(
0);
    }
    else
    {
        return(
1);
    }

    
mysql_close($con);    
}



function 
chequeathumb($lafoto) {

    
$con=mysql_connect('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
    
mysql_select_db("xxxxxxxxxxxxxxxxxxx",$con);
    
    global 
$marcada;
    
    
$consulta="SELECT * FROM `marcasdeagua` WHERE `marcada` LIKE '" $lafoto "' LIMIT 1";
    
$datos mysql_query($consulta$con) or die ("Error al Ejecutar la Consulta: ".mysql_error()); 
    
    while (
$row mysql_fetch_row($datos)){
    
$marcada "$row[1]";
    }

    if (
$marcada == $lafoto
        { 
            return(
0);
        }
    else
        {
            return(
1);
        }
    
mysql_close($con);
}

//================================================================ CREANDO LAS MINIATURAS =================================================================

function tiny($d$archivo){
$original imagecreatefromjpeg("$d/$archivo");

/* Hallamos la anchura y altura de la imagen original */
$ancho imagesx($original);
$alto imagesy($original);

/* Indicamos la anchura que tendrá la miniatura */
$anchomini=130;

/* Obtenemos por una simple regla de tres la altura de la miniatura */
$altomini=($alto*$anchomini)/$ancho;

/*verificamos que los valores de ancho y alto no excedan nuestro limite por imagen*/
if($altomini>100){
    
$altomini 100;
    
$anchomini = ($ancho*100)/$alto;
}

    
/* Dimensionamos la miniatura */
    
$thumb imagecreatetruecolor($anchomini,$altomini); 

    
/* Se obtiene por interpolación la miniatura en memoria */
    
imagecopyresampled($thumb,$original,0,0,0,0,$anchomini,$altomini,$ancho,$alto);
        
        if(!
is_dir("$d/thumbs"))    {
              
mkdir("$d/thumbs",0777);
            }
    
/* Guardamos la miniatura en un fichero con formato JPEG y un ratio de compresión de 80% */
    
imagejpeg($thumb,"$d/thumbs/tn_$archivo",80); 
    }
    
//======================================================================================================================================================    

function gallery($fotos) { 
$imagenes=array(); //inicilizamos el array
$dir=$fotos;
if (
is_dir($dir)) { 
    if (
$dh opendir($dir)) { 
        while ((
$file readdir($dh)) !== false) {
              if (
$file != "." && $file != "..") {
                    if (
noesfotoprincipal($file)) 
                    {
                        if (
$file != 'Thumbs.db') {
                               
array_push ($imagenes$file); // añadimos la imagen
                        
}
                    }
              }  
        } 
    
closedir($dh); 
    } 
}
if (isset(
$_GET['pagina'])) {
    
$pagina=$_GET['pagina'];
    } else {
    
$pagina=1;
    }
$totalImagenes=count($imagenes);
$paginas ceil($totalImagenes/15);      
if (
1>$pagina$pagina=1
$inicio=($pagina-1)*15;
if (
$inicio>=$totalImagenes) { 
    
$pagina=1;
    
$inicio=0;
    }
$final=$inicio+15;
if (
$final>$totalImagenes$final=$totalImagenes;  

for (
$i=$inicio;$i<$final$i++) {
             if(!(
is_dir($imagenes[$i])OR($imagenes[$i]=="thumbs"))) {                
                      if(!
file_exists("$fotos/thumbs/tn_$imagenes[$i]")){                                
                    
$eldir $fotos.$imagenes[$i];
                        if (
chequeathumb($eldir)) {
                            
tiny($fotos,$imagenes[$i]);
                        }
                    }
                  
//muestra thumbs    
                           
                  
$j=($i%5);
                  if(
$j==0){                        
                        echo 
"\n";
                          echo  
'<p></p>';
                  }
                    if (
noesfotoprincipal($fotos.$imagenes[$i])) 
                    {
                        if (
$imagenes[$i] != 'Thumbs.db') {
                            echo 
'<a href="fotos.php?foto='.$fotos.$imagenes[$i].'&titulo='.$_GET['titulo'].'"><img src="'.$fotos.'/thumbs/tn_'.$imagenes[$i].'" border=0 class="foto" STYLE="border-style:solid;border-width:1px;border-color:#666666;"/></a>&nbsp;&nbsp;&nbsp;';
                        }
                    }
                  }
    }

if (!(
$paginas<=1)) {

    echo 
'<br><table border="0" cellspacing="0" cellpadding="5" class="Estilo1"><tr><td>&nbsp;</td></tr><tr>';

    if (
1<$pagina){
        
$anterior=$pagina;
        
$anterior--;
        echo 
"<td><a href='galerias.php?fotos=$dir&pagina=$anterior&titulo=".$_GET['titulo']."' class=\"enlacepag\">« Anterior</a> <span class=\"enlaceno\">|</span> </td>";
        }
    for (
$u=1$u<=$paginas$u++){
        if(
$u==$pagina) {
            echo 
"<td class=\"enlaceno\">".$u."</td>";
        }
        else
        {
            echo 
"<td><a href=\"galerias.php?titulo=".$_GET['titulo']."&fotos=$dir&pagina=".$u."\" class=\"enlacepag\">".$u."</a></td>";
        }
    } 
    if (
$final<$totalImagenes){
        
$siguiente=$pagina;
        
$siguiente++;
        echo 
"<td> <span class=\"enlaceno\">|</span> <a href='galerias.php?fotos=$dir&pagina=$siguiente&titulo=".$_GET['titulo']."' class=\"enlacepag\">Siguiente »</a></td>";
        }
    echo 
"</tr></table>";
    }
}
?>

Paso el directorio por URL y luego llamo a la función:

Código PHP:
<?
@gallery($_GET[fotos]);
?>

Desde ya muchas gracias
  #4 (permalink)  
Antiguo 08/08/2008, 13:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: [Ayuda] Problema raro con galeria php

Prueba subir un archivo con el contenido:
Código PHP:
<?php
phpinfo
();
?>
Y revisa si obtienes diferencias cuando lo ejecutas desde la ip y desde el host.

Saludos.
  #5 (permalink)  
Antiguo 08/08/2008, 14:05
 
Fecha de Ingreso: julio-2007
Mensajes: 24
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: [Ayuda] Problema raro con galeria php

No encuentro diferencias significativas

Me está sacando de quicio! jaja..
  #6 (permalink)  
Antiguo 08/08/2008, 14:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: [Ayuda] Problema raro con galeria php

Pero si existen diferencias entonces el problema no esta en tu código si no en como esta configurada la instalación de PHP en tu servidor web.

Saludos.
  #7 (permalink)  
Antiguo 08/08/2008, 14:24
 
Fecha de Ingreso: julio-2007
Mensajes: 24
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: [Ayuda] Problema raro con galeria php

Te envie los links por PM para que lo revises, yo no econtre nada raro pero tampoco soy un experto en el tema

Aguardo respuesta!

Desde ya muchas gracias
  #8 (permalink)  
Antiguo 08/08/2008, 14:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: [Ayuda] Problema raro con galeria php

Mmm al parecer cambia (y mucho) todas tus rutas, aunque estan bajo el mismo server la configuración parece cambiar mucho, y creo el problema viene en tu mkdir() no haz de tener permiso para usarlo usando www, prueba esto:
Código PHP:
if(!is_dir("$d/thumbs"))    {
       
mkdir("$d/thumbs",0777) or die( "No se puede crear el directorio $d/thumbs" );

Saludos.
  #9 (permalink)  
Antiguo 08/08/2008, 14:36
 
Fecha de Ingreso: julio-2007
Mensajes: 24
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: [Ayuda] Problema raro con galeria php

Bien, aparentemente si, el problema viene por ahi. Si bien el directorio está creado (por probar con la IP) puse el mensaje para las miniaturas y este me arroja el error!

Esto debo plantearselo a mi proveedor de hosting verdad?

Muchas gracias!
  #10 (permalink)  
Antiguo 08/08/2008, 14:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: [Ayuda] Problema raro con galeria php

Así es, ya que lo más seguro es que no tengas permisos para crear directorios y escribir en ellos.

Saludos.
  #11 (permalink)  
Antiguo 08/08/2008, 14:44
 
Fecha de Ingreso: julio-2007
Mensajes: 24
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: [Ayuda] Problema raro con galeria php

Ok, muchas gracias, ya estoy enviando un mail al soporte técnico, despues comento

Saludos!

Lucas
  #12 (permalink)  
Antiguo 15/08/2008, 17:09
 
Fecha de Ingreso: julio-2007
Mensajes: 24
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: [Ayuda] Problema raro con galeria php

Ya está solucionado, tuvimos que cambiar de hosting porque según ellos el problema era del script y no fue asi... pero ya está, en el nuevo hosting funciona sin problemas :)

Muchas gracias

Tengo otra consulta, como ven las miniaturas se paginan, eso perfecto pero lo que desconozco totalmente es como hacer para poner un dos botones "ANTERIOR" - "SIGUIENTE" dentro de la visualización de CADA FOTO

Esto es complicado? Alguna idea?

Muchisimas gracias!


Saludos!
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 20:33.