1

プロジェクトにWAMPを使用していますが、元のindex.phpに満足していません。WAMPインデックスページにプロジェクトフォルダを表示したい。これが私が何とか考えたものです:

<? 
$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>

このページにのみリンクを表示するにはどうすればよいですか?

4

2 に答える 2

1

私があなたの質問を理解している限り、あなたはリンク付きのディレクトリリストを生成したいと思っています。(誤解した場合は、コメントしてください)

PHP5以降の場合

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 、 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); 

アップデート

これで、親フォルダに戻る機能を備えたディレクトリリスタを使用する準備が整いました。デモ

于 2012-08-25T09:16:47.757 に答える
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この場合)を取得し、拡張子が付いたファイルを削除するという考え方です。したがって、手元にあるのはフォルダだけです。

于 2012-08-25T09:19:39.530 に答える