2012-01-21 5 views

答えて

14

まず、foreach()で同じ変数名を使用しないでください。このようにファイルにリンクすることができます。

foreach($phpfiles as $phpfile) 
{ 
echo "<a href=$phpfile>".basename($phpfile)."</a>"; 
} 

(例:/home/eray/Desktop/test.html)ファイルの完全なパスを含む$phpfile

basename()だけのパスからファイル名を返しています。 basename($phpfile)の出力はtest.htmlです。 test.html拡張子なし)だけを印刷する場合は、これを使用できます。basename($phpfile, ".html")ありがとう、@aSeptik。

+0

'ベース名($のphpfileは、 '.htmlを');' –

+0

はいあなたも、それを使用することができます。ファイルの拡張子を印刷したくない場合(つまり、 '.html'を意味する) – Eray

1

リンクがWebサーバー経由でアクセス可能であると仮定すると、Webアクセスのためのルートパスはコンピュータとは異なる必要があります。また、あなたのforeachは間違っています。 2番目の変数は特異でなければなりません(少なくとも最初の変数とは異なる)。だからあなたのWebサーバが有効なサイトのパスとしてファイルパスを見ていると仮定すると:

$rootPath = "/MyFilePath"; 
foreach ($phpfiles as $phpfile) 
{ 
    echo "<a href=\"$rootPath/$phpfile\">$phpfile</a>"; 
} 
0
$files = glob("*.html"); 
echo '<ul>'.implode('', array_map('sprintf', array_fill(0, count($files), '<li><a href="%s">%s</a></li>'), $files, $files)).'</ul>'; 
0

これは、例えば、ファイルのフルパスを(含むOK "eray"

$のphpfileです: /home/eray/Desktop/test.html)basename()はパスからファイル名 を返しています。 basename($ phpfile)の出力はtest.htmlです。 (拡張子が.htmlでない)だけをテストしたい場合は、次のようにしてください: basename($ phpfile、 ".html")Thanks、@aSeptik。

除去方法。 phpの拡張子とリンクにあります。

exaple: ます。http // example.com/DIR1 /ファイルの.php **

(最後のアウトの.phpで)。


おかげ

+0

これはリンクする方法の質問に答えますか? – CodeCamper

+0

この質問はそれを行う方法ではありません – user2988099

+0

質問は**どうすればファイルをリストアップするのではなく、実際にリンクするのですか?** – CodeCamper

関連する問題