-2

だから私は &title=blabla を含む URL を持っています

タイトルを抽出して返す方法を知っています。しかし、ファイル名しか持っていないときに、ファイル名へのフルパスを取得するためにお尻を探していました。

だから私が持っている必要があるのは、すべてのディレクトリで「blabla」と呼ばれる html ファイルを検索する方法です。それを見つけた後、完全なパスを返す必要があります。

私に解決策を持っている人はいますか?

<?php

$file = $_GET['title'];

if ($title = '') {
echo "information.html";
} else { 
//here it must search for the filepath and echo it.
echo "$filepath";
}

?>
4

3 に答える 3

0

ここで提供されているソリューションを使用できます。

ディレクトリを再帰して、ディレクトリとサブディレクトリ内のすべてのファイルを一覧表示できます。次に、探しているファイルと一致するかどうかを比較できます。

于 2013-02-17T02:35:42.333 に答える
0
$root = '/';               // directory from where to start search
$toSearch = 'file.blah';   // basename of the file you wish to search

$it = new RecursiveDirectoryIterator($root);
foreach(new RecursiveIteratorIterator($it) as $file){
  if($file->getBasename() === $toSearch){
    printf("Found it! It's %s", $file->getRealPath());

    // stop at the first match
    break;
  }
}

持っているファイルの数によっては、これは非常に遅くなる可能性があることに注意してください

于 2013-02-17T02:32:15.520 に答える
0

まず、この行に問題があります

if ($title = '') {

http://www.php.net/manual/en/reserved.variables.files.phpを参照してください。

于 2013-02-17T02:40:59.607 に答える