Syntax error (PHP)

Asked

Viewed 79 times

-2

I’m creating a PHP to list the files in a folder and added a style to it. I don’t know what’s going wrong, so please help me. On my server page error appears on line 26.

<?php

// diretorio dos pdf's
$dir = "./ebooks";

// ediretorio
$dh = opendir($dir);

// loop que busca todos os arquivos até que não encontre mais nada
while (false !== ($filename = readdir($dh))) {
// verificando se o arquivo é .pdf
if (substr($filename,-4) == ".pdf") {
// mostra o nome e o link do arquivo
echo "<a href=\"$filename\">$filename</a><br>";
?>
<style>
.blue
{
    background-color: #33383E;
    color: #C7C8C8;
    border-bottom: 1px solid #14161A;
}
</style>
}
?>
  • You never close the while

  • Neither the if. And closes php at the end without having reopened

  • 1

    Line 26 is ghost error, because your code only has 25 lines!! What should appear is: syntax error, Unexpected end of file in ..... line 25

2 answers

1

Guy must not have noticed but on the stretch

// loop que busca todos os arquivos até que não encontre mais nada
while (false !== ($filename = readdir($dh))) {
// verificando se o arquivo é .pdf
if (substr($filename,-4) == ".pdf") {
// mostra o nome e o link do arquivo
echo "<a href=\"$filename\">$filename</a><br>";

You have not closed the keys neither from the while nor from the if. Look at the right way

// loop que busca todos os arquivos até que não encontre mais nada
while (false !== ($filename = readdir($dh))) {
    // verificando se o arquivo é .pdf
    if (substr($filename,-4) == ".pdf") {
    // mostra o nome e o link do arquivo
        echo "<a href=\"$filename\">$filename</a><br>";
    }
}
?>

And in the last lines of the code there is a key and a closing of the php tag more.

}
?>

0

In addition to the flaws pointed out in our friend’s comments bfavaretto and the answer given by our new friend Pablo Lauro da Silva, you have to fix the file link on the line:

echo "<a href=\"$filename\">$filename</a><br>";

The correct is to include the $dir variable to avoid page not found

echo "<a href=\"$dir/$filename\">$filename</a><br>";

Complete and corrected code

<style>
.blue
{
    background-color: #33383E;
    color: #C7C8C8;
    border-bottom: 1px solid #14161A;
}
</style>

<?php
// diretorio dos pdf's
$dir = "./ebooks";

// ediretorio
$dh = opendir($dir);

// loop que busca todos os arquivos até que não encontre mais nada
while (false !== ($filename = readdir($dh))) {
    // verificando se o arquivo é .pdf
    if (substr($filename,-4) == ".pdf") {
    // mostra o nome e o link do arquivo
        echo "<a href=\"$dir/$filename\">$filename</a><br>";
    }
}
?>

Browser other questions tagged

You are not signed in. Login or sign up in order to post.