2013-07-01 70 views
1

请问有人可以帮我吗?我有一个分析错误:语法错误,83行文件的意外结束,但不知道为什么。代码是这样的:文件末尾要求

<!DOCTYPE html> 

<html> 
<head> 
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> 

    <title></title> 
</head> 

<body> 
    <?php 
     header('Content-type: text/html; charset=utf-8'); 

     $path = 'fotos'; # Directorio donde están las imágenes 
     $limit = 4; # Cuantas imágenes se mostraran por pagina 
     $limit_file = 5; # Imágenes a mostrar por linea en la tabla 
     $n = 0; 
     $desde; 
     $hasta; 
     # Comprobamos si es un directorio y si lo es nos movemos a el 
     if (is_dir($path)){ 
      $dir = opendir($path); 
      # Recorremos los ficheros que hay en el directorio y cogemos solamente aquellos cuya extensión 
      # sea jpg, gif y png y la guardamos en una lista 
      while (false !== ($file = readdir($dir))) { 
       if (preg_match("#([a-zA-Z0-9_\-\s]+)\.(gif|GIF|jpg|JPG|png|PNG)#is",$file)){ 
        $list[] = $file; 
       } 
      } 

      # Cerramos el directorio 
      closedir($dir); 
      # Ordenamos la lista 
      sort ($list); 
      # Contamos el total de elementos en la lista 
      $total = count($list); 
      $paginas = ceil($total/$limit); 
      if (!isset($_GET['pg'])){ 
       $desde = 0; 
       $hasta = $desde + $limit; 
      }else if((int)$_GET['pg'] > ($paginas-1)){ 
       # Si pg es mayor que el total de paginas se muestra un error 
       echo "<b>No existe esta pagina en la galería</b> 
        <a href='galeria.php'>Volver a la galería</a>"; 
       die(); 
      }else{ 
       $desde = (int)$_GET['pg']; 
      } 
      # Y generamos los enlaces con los thumbnails 
      for ($i=($desde*$limit);($i!=$total) && ($i<($desde*$limit)+$limit);$i++){ 
       # Comprobamos si existe en la lista una llave con el valor actual de $i para evitar errores 
       if(array_key_exists($i, $list)){ 
        echo "<td><a href='$path/$list[$i]'><img src='thumb.php?img=$path/$list[$i]' /></a> 
         </td>\n"; 
        $n++; 
        if ($n == $limit_file){ 
         echo "</tr>\n<tr>\n"; 
         $n = 0; 
        } 
       } 
      } 
     }else{ 
      echo "$path no es un directorio"; 
     } 

     echo "</tr>"; 
     echo "</table>"; 
     echo "<p id='paginas'>"; 

     # Generamos un listado de las paginas de la galería 
     for ($p = 0; $p<$paginas; $p++){ 
      $pg = $p+1; 
      if ($p == $desde){ 
       echo "$pg "; 
      }else{ 
       echo "<a href ='?pg=$p'>$pg</a> "; 
      } 

      echo"</p>"; 
      echo "Hay un total de $total imagen(es) en $paginas paginas(s)" ; 
    ?> 
</body> 
</html> 

的代码是为了显示在一个分页,即图像的列表,如果你有比X图像多,观看这些X和归结的链接到其他网页。

+4

开始使用IDE,突出打开/关闭括号 –

回答

3

您的for-loop,for ($p = 0; $p<$paginas; $p++){,不会在任何地方结束。

0

您的大括号不匹配 - for循环没有右大括号。

Unexpected end of file只是意味着PHP到达文件的末尾,但期待别的东西 - 在这种情况下是一个右大括号。

0

没有clossing支架的 'for' 循环

# Generamos un listado de las paginas de la galería 
    for ($p = 0; $p<$paginas; $p++){ 
0

应关闭的循环是这样的: -

for ($p = 0; $p<$paginas; $p++){ 
    $pg = $p+1; 
    if ($p == $desde){ 
     echo "$pg "; 
    }else{ 
     echo "<a href ='?pg=$p'>$pg</a> "; 
    } 
}            // close for loop 
    echo"</p>"; 
    echo "Hay un total de $total imagen(es) en $paginas paginas(s)" ; 
    ?>