拜托,有人可以帮帮我吗?我有一个Parse错误:语法错误,第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并向下查看其他页面的链接。
答案 0 :(得分:3)
您的for循环for ($p = 0; $p<$paginas; $p++){
不会在任何地方结束。
答案 1 :(得分:0)
你的大括号不匹配 - for循环没有右大括号。
Unexpected end of file
只是意味着PHP到达了文件的末尾,但是期待别的东西 - 在这种情况下是一个结束括号。
答案 2 :(得分:0)
没有'for'循环的结束括号
# Generamos un listado de las paginas de la galería
for ($p = 0; $p<$paginas; $p++){
答案 3 :(得分:0)
你应该像这样关闭你的for循环: -
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)" ;
?>