Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/04/2004, 22:40
Avatar de Reynier
Reynier
 
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
A ver si alguien me aydua

Tengo este codigo que he creado con la finalidad de que el usuario pueda insertar en una imagen X tantas areas clickeables como desee. El código es este:
functions.php
Código PHP:
 <?php
 
include("dinamic.class.php");
function 
ReadDB($fille){
 
$file fopen($fille,"r+");
 
$Paginas = array();
 
$Contador 0;
 while(!
feof($file)){
      
fscanf($file,"%s",$temp);
      if(
$temp == "Pagina"){
           
$pag = new Pagina();
           
fscanf($file,"%d"$numero);
           
fscanf($file,"%s"$imagen);
           
fscanf($file"%d %d %d %d",$x1,$y1,$x2,$y2);
           
fscanf($file"%d"$cantidad);
           
$pag->numero $numero;
           
$pag->imagen $imagen;
           
$pag->=  $x1;
           
$pag->=  $y1;
           
$pag->xx $x2;
           
$pag->yy $y2;
           for(
$i=0;$i<$cantidad;$i++){
                   
fscanf($file"%d %d %d %d",$x,$y,$xx,$yy);
                   
$cuadrado = new Area() ;
                   
$cuadrado->x   $x;
                   
$cuadrado->y   $y;
                   
$cuadrado->xx  $xx;
                   
$cuadrado->yy  $yy;
                   
array_push($pag->area $cuadrado);
                   
fscanf($file"%d"$donde);
                   
array_push($pag->donde$donde);
                   
$pag->Cantidad++;
          }
          
array_push($Paginas$pag);
          
$Contador++;
      }
 }
 
fclose($file);
 
$img $pag->imagen;
 
//$1 = $pag->area;
 //$2 = $pag->donde;
 
echo "<html>
       <head>
       <title>Mostrando imagen</title>
       </head>
       <body>
       <img src='"
.$img."' border='0' usemap='#Map'>
       <table>
       <tr>
       <td>"
.$img."</td>
       </tr>
       </table>
       <map name='Map'> "
;

for(
$i 0$i $Contador ; ++$i){
     
$pag = new Pagina();
     
$pag $Paginas[$i];
     
$area = new  Area();
     
$area $pag->area;
     
$pag->numero;
     
$pag->numero;
     for(
$j 0$j $pag->Cantidad; ++$j ){
               
$NewArea = new Area();
               
$NewArea $pag->$area[$j];
               
$Lugar   $pag->donde;

               
$x $NewArea->x;
               
$y $NewArea->y;
               
$xx $NewArea->xx;
               
$yy $NewArea->yy;
               echo 
"<area shape='rect' coords='".$x.",".$y.",".$xx.",".$yy."' href='mostrar.php?lugar=".$Lugar[$i]."' alt='Mostrar &aacute;rea'>";
     }
  }
}
/*echo "</map>
      </body>
      </html>"; */



?>
dinamic.class.php
Código PHP:
<?php
 
class Pagina{
  var 
$numero;
  var 
$imagen;
  var 
$x;
  var 
$y;
  var 
$xx;
  var 
$yy;
  var 
$area  = array();
  var 
$donde = array();
  var 
$Cantidad 0;
}

 class 
Area{
  var 
$x;
  var 
$y;
  var 
$xx;
  var 
$yy;
 }
?>
y index.php
Código PHP:
<?php
 
require("functions.php");
 
ReadDB("file.txt");
?>
y el contenido de file.txt es este:
Cita:
Pagina
1
img/01.jpg
10 10 30 40
2
20 20 150 150
4
14 10 15 22
3
Pagina
2
img/02.jpg
10 10 30 40
1
1
10 10 15 15
1
La cosa es que lo que va hacia mi navegador es esto:
Cita:
<html>
<head>
<title>Mostrando imagen</title>
</head>
<body>
<img src='img/02.jpg' border='0' usemap='#Map'>
<table>
<tr>
<td>img/02.jpg</td>
</tr>
</table>
<map name='Map'> <area shape='rect' coords=',,,' href='mostrar.php?lugar=4' alt='Mostrar &aacute;rea'><area shape='rect' coords=',,,' href='mostrar.php?lugar=4' alt='Mostrar &aacute;rea'><area shape='rect' coords=',,,' href='mostrar.php?lugar=' alt='Mostrar &aacute;rea'>
y en el debugger tengo todos los valores de forma correcta. ¿Me pueden decir que hago mal?

Salu2
__________________
Ing. Reynier Pérez Mira