Foros del Web » Programando para Internet » PHP »

quiero que se abra un enlace en el mismo lugar donde se hace el enlace(en un include)

Estas en el tema de quiero que se abra un enlace en el mismo lugar donde se hace el enlace(en un include) en el foro de PHP en Foros del Web. hola resulta que tengo este codigo que sirve para que creé automáticamente el álbum de fotos. pues bien, yo tengo el archivo desde donde se ...
  #1 (permalink)  
Antiguo 02/07/2004, 05:20
Avatar de yeta  
Fecha de Ingreso: enero-2004
Mensajes: 148
Antigüedad: 20 años, 3 meses
Puntos: 0
Pregunta quiero que se abra un enlace en el mismo lugar donde se hace el enlace(en un include)

hola
resulta que tengo este codigo que sirve para que creé automáticamente el álbum de fotos. pues bien, yo tengo el archivo desde donde se ejecuta este script en un "include", y quisiera que al darle a un enlace para cambiar de página (en el album!) se abriera en el mismo include, no como ocurre.

Código PHP:
<?php
function showImg($aPath$aFn$aThisPage)
{
  global 
$thumbwidth$showfilename;

  
$fullpath $aPath.$aFn;

  
// width and height
  
$imgsize GetImageSize($fullpath);
  
$twidth $thumbwidth;
  
$theight $imgsize[1] / ($imgsize[0]/$twidth);

  
// Thumbnails
  
echo "<td>";
  echo 
"<center><a href=$fullpath target=_blank><img border=\"0\" width=\"$twidth\" height=\"$theight\" src=\"create.php?image=$fullpath&w=$twidth\"></img></a></center>";
  if(
$showfilename) {
    
$l strlen($aFn) - 4;
    echo 
"<br><center>".substr($aFn0$l)."</center>";
  }
  echo 
"</td>";

}

function 
showDir($aPath$aFn)
{
  
$fullpath $aPath.$aFn;
  
$imgsize GetImageSize("folder.gif");
  echo 
"<td>";
  echo 
"<center><a href=\"fotos1.php?path=$fullpath/\"><img border=\"0\" width=\"$imgsize[0]\" height=\"$imgsize[1]\" src=\"folder.gif\"></img></a></center>";
  echo 
"<br><center>$aFn</center>";
  echo 
"</td>";

}

function 
showImgRow($aPath$aFiles$aIsDir$aThisPage$aStart$aEnd)
{
  echo 
"<tr>";
  for(
$i=$aStart$i<$aEnd$i++) {
    if(
$aIsDir[$i]) {
      
showDir($aPath$aFiles[$i]);
    } else {
      
showImg($aPath$aFiles[$i], $aThisPage);
    }
  }
  echo 
"</tr>";
}

function 
showImgTable($aPath$aFiles$aIsDir$aThisPage,
    
$aNumCols$aNumRows)
{
  
$numPerPage $aNumRows $aNumCols;
  
$totalFiles count($aFiles);
  
$start $aThisPage $numPerPage;
  
$end $start $numPerPage;
  
$end min($end$totalFiles);

  echo 
"<center>";
  echo 
"<table border=\"0\" cellspacing=\"10\" cellpadding=\"0\">";

  while(
$start $end) {
    
$e min($start $aNumCols$end);
    
showImgRow($aPath$aFiles$aIsDir$aThisPage$start$e);
    
$start += $aNumCols;
  }

  echo 
"</table>";
  echo 
"</center>";
}

function 
showPageLinks($aPath$aNumFiles$aThisPage$aImg$aNumCols$aNumRows)
{
  
$numPerPage $aNumCols $aNumRows;
  
$numPages ceil($aNumFiles $numPerPage);

  
/*
   * reverse finding '/' start from the second last char
   * since the last char must be '/'
   */
  
$pdir "";
  
$plen strlen($aPath);
  for(
$j=$plen-2$j>0$j--) {
    if(
$aPath[$j] == '/') {
      
$pdir substr($aPath0$j+1);
      break;
    }
  }

  echo 
"<br><center>";
  echo 
"<table border=\"0\" cellspacing=\"10\" cellpadding=\"0\">";
  echo 
"<tr>";
  if(
$aImg) {
    
// Showing big image
    
echo "<td><a href=\"fotos1.php?path=$aPath&page=$aThisPage\"> Go Back </a></td>";
  } else {
    
// show the up link
    
if($pdir != "") {
      echo 
"<td><a href=\"fotos1.php?path=$pdir\">UP</a></td>";
    }
    
// show the page links
    
if($numPages == 0) {
      echo 
"<td>No Images</td>";
    } else {
      
// show only 10 pages
      
$minp 0;
      
$maxp 10;
      if(
$numPages 10) {
        
$minp floor($aThisPage/10) * 10;
        
$maxp ceil(($aThisPage+1)/10) * 10;
      }
      
$maxp min($maxp$numPages);


      
// show the prev link
      
if($minp >= 10) {
        
$prevp $minp 1;
        echo 
"<td><a href=\"fotos1.php?path=$aPath&page=$prevp\">&lt;</a></td>";
      }

      
// show page no(s)
      
for($i=$minp$i<$maxp$i++) {
        
$p $i 1;
        if(
$aThisPage == $i) {
          echo 
"<td><b>$p</b></td>";
        } else {
          echo 
"<td><a href=\"fotos1.php?path=$aPath&page=$i\">$p</a></td>";
        }
      }

      
// show the next link
      
if($maxp $numPages) {
        
$nextp $maxp;
        echo 
"<td><a href=\"fotos1.php?path=$aPath&page=$nextp\">&gt;</a></td>";
      }
    }
  }
  echo 
"</tr>";
  echo 
"</table>";
  echo 
"</center>";
}


function 
readFiles($aPath)
{

  global 
$files$isDir;
  global 
$sortbyname;
  
$files = array();
  
$isDir = array();
  
$confdir "imgconfig";

  
$dir_handle = @opendir($aPath) or die("Unable to open $aPath");

  while(
$file readdir($dir_handle)) {
    
$fullpath $aPath.$file;

    if(
is_dir($fullpath)) {
      if(
$file != '.' && $file != '..' && $file != $confdir) {
        
$files[] = $file;
        
$isDir[] = true;
      }
    } else {
      
$ext substr($file, -4);
      
//if($file[0] != '.' && ($ext == '.jpg' || $ext == '.gif')) {
      
if($file[0] != '.' && (strtolower($ext) == '.jpg')) {
        
$files[] = $file;
        
$isDir[] = false;
      }
    }
    if(
$sortbyname) {
      
sort($files);
    }
  }

  
closedir($dir_handle);
}

function 
adjustPath($aPath)
{
  
$ret $aPath;
  if(!
$ret)
    
$ret "./";
  if(
substr($ret, -1) != "/")
  
$ret $ret.'/';

  
// reset to home, if illegal access
  
if(substr($ret01) != '.' || strstr($ret"..")) {
    
$ret'./';
  }

  return 
$ret;
}
?>
mirad, lo tengo aquí http://www.paginasdemallorca.com/lam...php?ando=fotos. si intentais cambiar de página del album, vereis que no se abre en el mismo lugar. como hago para que se abra en el mismo lugar (a poder ser sin necesidad de iframe)
muchas gracias y perdonad por tan larga pregunta

Última edición por yeta; 02/07/2004 a las 05:49 Razón: rectificacion del enlace
  #2 (permalink)  
Antiguo 02/07/2004, 06:54
 
Fecha de Ingreso: enero-2004
Ubicación: Merida, Venezuela
Mensajes: 87
Antigüedad: 20 años, 3 meses
Puntos: 0
Hola mira yo lo se hacer y creo que eso es facil hacerlo con un IFRAME ¿porque no lo haces con un Iframe??
  #3 (permalink)  
Antiguo 02/07/2004, 07:32
Avatar de yeta  
Fecha de Ingreso: enero-2004
Mensajes: 148
Antigüedad: 20 años, 3 meses
Puntos: 0
mmmm...ya lo pensé lo del iframe, pero tambien dije que me gustaría no tener que usar uno...
alguien sabe otra forma????????????
por favor contestad
  #4 (permalink)  
Antiguo 02/07/2004, 11:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Tendras que recargar la página .. quieres eso?

Un saludo,
  #5 (permalink)  
Antiguo 02/07/2004, 12:11
Avatar de yeta  
Fecha de Ingreso: enero-2004
Mensajes: 148
Antigüedad: 20 años, 3 meses
Puntos: 0
recargar la pagina???
header('Location:talycual')
eso?:S
  #6 (permalink)  
Antiguo 02/07/2004, 12:13
Avatar de yeta  
Fecha de Ingreso: enero-2004
Mensajes: 148
Antigüedad: 20 años, 3 meses
Puntos: 0
hombre me has dado una idea.
quizas redireccionando a una pagina que haga un include a la URL desde la que se ha venido...
algo asi dices???
o hay alguna otra forma???
  #7 (permalink)  
Antiguo 02/07/2004, 12:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
yata ...

Una llamada a una página externa por un iframe o redireccionamiento sigue siendo lo mismo .. A efectos "visuales" .. si usas un iframe no veras la recarga .. si redireccionas a otro script (si mismo puede ser con más lógica) tendras el mismo objetivo pero con la "molestia" de la recarga de página "parpadeo dependiendo de la conexión".

Todo es cosa que hagas el include() pero "condicional" y propages las variables que requiera tu "include()" que llamas con lo que podría usar tu script "padre" ..

Ejemplo ...

Si usas para llamar a tu include() que llama a tu galeria.php alago así:
index.php?modulo=galeria

Pero, .. resulta que esa galería "pagina" y eso genera otros links tipo:
galeria.php?pagina=1

al llamarlo bajo tu "index.php?modulo=galeria" .. tendras que modificar los links de galeria.php para que apunten a:

index.php?modulo=galeria&pagina=1

Deben apuntar a "index.php" por qué ese index.php llama a tu galeria si modulo=galeria .. pero a su vez como "pagina" (o hace otras cosas por si solo) necesita que sus links tengan las variables que este gestiona .. ejemplo esa tal "pagina=valor".

(si es que entendí bien el contexto de como usas esos scripts por separado y como lo estás integrando bajo otro diseño "modular")

Un saludo,
  #8 (permalink)  
Antiguo 02/07/2004, 12:54
Avatar de yeta  
Fecha de Ingreso: enero-2004
Mensajes: 148
Antigüedad: 20 años, 3 meses
Puntos: 0
a ver, te dire como lo tengo enlazado todo

index.php
contiene
Código PHP:
<?switch ($ando) {
   case 
archivo:
         include (
'archivo.php');
         break;
   case 
contactar:
         include (
'contactar.php');
         break;
   case 
info:
         include (
'info.php');
         break;
   case 
comentarios:
         include (
'comentarios.php');
         break;
   case 
fotos:
         include (
'fotos.php');
         break;
     default:
         include (
"inicio.php");
         break;
 }
?>
el archivo fotos.php es el del album
pero a la vez, fotos.php tiene esto

Código PHP:
<?php 
include('./fotos1.php?path=./gallery1/'); 
?>
como hago para hacer eso que tu dices &pagina=x ???
  #9 (permalink)  
Antiguo 02/07/2004, 13:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
¿Pero tu "fotos1.php" ya pagina sus resultados (la lectura de ese directorio/sub-directorios que parece le indicas en path=...)?

Un saludo,
  #10 (permalink)  
Antiguo 02/07/2004, 14:04
Avatar de yeta  
Fecha de Ingreso: enero-2004
Mensajes: 148
Antigüedad: 20 años, 3 meses
Puntos: 0
si, el fotos1.php es el archivo que incluye todos los demas archivos de configuracion y el props.php (el primero que puse y que carga las imagenes, y pagina la galeria. mira este es el archivo

fotos1.php
Código PHP:
<HTML>
<HEAD>
<?php
    
include("settings.php");
    include(
"styles.php");
?>
<TITLE><?=$pagetitle?></TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);

ns3up = (browserName == "Netscape" && browserVer >= 3);
ie4up = (browserName.indexOf("Microsoft") >= 0 && browserVer >= 4);

function doPic(imgName) {
if (ns3up || ie4up) {
imgOn = ("" + imgName);
document.mainpic.src = imgOn;
   }
}
//  End -->
</script>

</HEAD>
<body>
<?php

  
global $files$isDir$thumbwidth$colnumber$rownumber$showfilename;
  include(
"props.php");
  
$path adjustPath($path);
  @
readFiles($path);
?>


<p>


<table align=center bordercolor=black cellspacing="0" cellpadding="10">
    <tr>
        <td>
            <?php
            
if (!$img) {
              @
showImgTable($path$files$isDir$page,
                
$colnumber$rownumber);
            } else {
              @
showBigImg($path$img);
            }
            
?>
        </td>
    </tr>
</table>
<div align="center">
<? if ($showpage == "1")
echo 
"".@showPageLinks($pathcount($files), $page$img,
        
$colnumber$rownumber)."";
?>
</body>
</HTML>
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 04:18.