Syntax error (PHP) [closed]

-2

I'm creating a PHP to list the files in a folder and added a style to it. I do not know what's wrong, so please help me. In the page of my server appears error in 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>
}
?>
    
asked by anonymous 21.06.2017 / 23:29

2 answers

1

Face should not have repaired but 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 did not close the while or the if keys. 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 too.

}
?>
    
21.06.2017 / 23:53
0

In addition to the flaws pointed out in the comments of our friend bfavaretto and the response given by our new friend Pablo Lauro da Silva , :

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

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

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

Complete and Fixed 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>";
    }
}
?>
    
22.06.2017 / 01:49