Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/02/2005, 08:32
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Tienes que separar la lógica que obtiene el nombre de tu archivo de ese directorio que lees de la lógico que genera la imagen (con las cabeceras http (header ...) y tu uso de GD)

Debes tener un script que -sólo- haga tu proceso con la imagen (con una sóla) y otro script para otros procesos como obtener ese nombre del archivo. Sería algo tipo:

ver_imagen.php
Código PHP:
<?
$url
=urldecode($_GET['imagen']);
            
header("Content-type: image/jpeg"); 
            
$img imagecreatefromjpeg($url); 
            
imagejpeg($img,'',80); 
            
imagedestroy($img);
nose.php
Código PHP:
include("configuracion.inc.php"); 

// para que usas esto?
global $directorio,$dirthumb;
//
 
    
$path getcwd(); 
    
$pathtodir substr(substr($path,0,-1),0,strrpos($path,"\\")); 
    
$files = array(); 
    if (
$handle opendir($pathtodir.$dirthumb)) { 
        while (
false !== ($file readdir($handle))) { 
            if (
$file != "." && $file != "..") { 
                if (
eregi("\.jpe?g$"$file) || eregi("\.gif$"$file) || eregi("\.png$"$file)){ 
                    
$files[] = $file
                } 
            } 
        } 
        
closedir($handle); 
    } 
    foreach (
$files as $image) { 
        if(
file_exists($pathtodir.$dirthumb.$image)){ 
         echo 
"<img src=\"ver_imagen?imagen=".urlencode($pathtodir.$dirthumb.$image)."\">";  
         
        } 
    } 
Con el tag de imagen HTML .. llamas a tu ver_imagen.php pasandole el parámetro de tu ruta de imagen que ha de procesar tu script que usa GD.

En una página HTML cuando la generas .. aunque no lo sepas o uses, al "navegador" le estás diciendo que tipo de datos le estás enviando .. HTML, texto plano .. o "binarios" de cierto tipo MIME que usas en (caso de imagenes) en tag <img> HTML .. Por eso usas esas cabceras de "content-type" (HTTP) para indicar "aquí va dato binario de tal tipo" .. He de hay que tengas que tenerlo "aparte" y llamar de forma única cuando lo requieras ... Al final generas HTML en tu caso.

Sobre "paginar" .. recuerda que obtienes un array cada vez que lees tu directorio .. eso es lo que puedes y debes usar para paginar: los indices de tu array que generas para saber que rango haz de presentar. (unando un for() en lugar de foreach() para irte moviendo el puntero (indice) del array que recorres y que ya tienes en $files)


Un saludo,