通过PHP显示网页的某些内容

时间:2012-08-25 09:10:44

标签: php

我正在为我的项目使用WAMP,但我对原始的index.php不满意。 我想在WAMP索引页面上显示projects文件夹。这就是我设法思考的问题:

<? 
$sisis = file_get_contents('projektit');
echo $sisis;
?>

但实际上这不会做任何事情。这是浏览器中显示的项目文件夹:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
    <head>
        <title>Index of /projektit</title>
    </head>
    <body>
        <h1>Index of /projektit</h1>
        <table>
            <tr>
                <th>
                    <img src="/icons/blank.gif" alt="[ICO]">
                </th>
                <th>
                    <a href="?C=N;O=D">Name</a>
                </th>
                <th>
                    <a href="?C=M;O=A">Last modified</a>
                </th>
                <th>
                    <a href="?C=S;O=A">Size</a>
                </th>
                <th>
                    <a href="?C=D;O=A">Description</a>
                </th>
            </tr>
            <tr>
                <th colspan="5">
                    <hr>
                </th>
            </tr>
            <tr>
                <td valign="top">
                    <img src="/icons/back.gif" alt="[DIR]">
                </td>
                <td>
                    <a href="/">Parent Directory</a>
                </td>
                <td>&nbsp;</td>
                <td align="right">-</td>
                <td>&nbsp;</td>
            </tr>
            <tr>
                <td valign="top">
                    <img src="/icons/folder.gif" alt="[DIR]">
                </td>
                <td>
                    <a href="CCCKauppa/">CCCKauppa/</a>
                </td>
                <td align="right">24-Aug-2012 22:43</td>
                <td align="right">-</td>
                <td>&nbsp;</td>
            </tr>
            <tr>
                <th colspan="5">
                    <hr>
                </th>
            </tr>
        </table>
    </body>

</html>

我如何仅在此页面上显示链接?

2 个答案:

答案 0 :(得分:1)

据我了解您的问题,您希望生成包含链接的目录列表。 (如果我误解了,请评论答案)

对于PHP 5及更高版本

您可以使用scandir(PHP5函数)并执行类似

的操作
<ul> 
<?php 
$dir = '/projektit'; 
$files = scandir($dir); 
foreach($files as $ind_file){ 
?> 
<li><a href="<?php echo $dir."/".$ind_file;?>"><?php echo $ind_file;?></a></li> 
<?php 
} 
?> 
</ul> 

我没有测试过,所以可能需要进行一些调整。

对于较旧的PHP版本

如果这不起作用,则需要opendirreaddir&amp; closedir函数。

$dir = opendir('projektit/'); 
echo '<ul>';
while ($read = readdir($dir)) 
{

if ($read!='.' && $read!='..') 
{ 
echo '<li><a href="files/'.$read.'">'.$read.'</a></li>'; 
}

}

echo '</ul>';

closedir($dir); 

更新

Here is ready to use directory lister返回父文件夹功能。 Demo

答案 1 :(得分:1)

您可以使用scandir获取文件夹中的所有文件。

$scanned = scandir($your_path);

// if you want to display only folders then you can:
// But please notice that array filter with anonymous function is available since PHP 5.3.0
$scanned = array_filter($scanned, function($el) { if (strpos($el, '.') === false) return $el; });

foreach($scanned as $folder)
   echo $folder;

基本上,我们的想法是将所有文件放在一个文件夹中(在这种情况下为$your_path),并删除带有扩展名的文件。所以,你手边只有文件夹。