申し訳ありません。複数のディレクトリに、Filesという1つのメインディレクトリの下に数百種類のファイルがあります。どのように私は、ルートディレクトリ(FIles)andsのすべてのサブディレクトリなどをearchでPHPファイルを作成し、ユーザーに結果を印刷するのだろうか?しかし、私はこの検索エンジンではなく、ファイル名を検索したいだけです。可能であれば、既に作成されたスクリプトやサンプルコードを提供できますか?どうもありがとう! PHPでファイルを検索するPHPの内容ではなく、ファイル名のためにdirectoyをどのように検索しますか?
1
A
答えて
5
、あなたはglob
を使用することができます。
http://php.net/manual/en/function.glob.php
パスのファイルリストを取得するには、scandir
を使用することができます。
http://php.net/manual/en/function.scandir.php
例
$dir = "/path/to/search/in/*.txt"; //search a path for only .txt files
foreach(glob($dir) as $file)
{
//print out the files that match
echo "filename: $file : filetype: " . filetype($file) . "<br />";
}
カスタム再帰グロブ
から:http://snipplr.com/view.php?codeview&id=16233
rglob($pattern, $flags = 0, $path = '')
{
if (!$path && ($dir = dirname($pattern)) != '.')
{
if ($dir == '\\' || $dir == '/') $dir = '';
return rglob(basename($pattern), $flags, $dir . '/');
}
$paths = glob($path . '*', GLOB_ONLYDIR | GLOB_NOSORT);
$files = glob($path . $pattern, $flags);
foreach ($paths as $p) $files = array_merge($files, rglob($pattern, $flags, $p . '/'));
return $files;
}
2
PHP5:
$dir_iterator = new RecursiveDirectoryIterator("/path");
$iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST);
// could use CHILD_FIRST if you so wish
foreach ($iterator as $file) {
echo $file, "\n";
}
1
<?php
/***********************************************************************
* @name AnyWhereInFiles
* @author Faisal Shaikh
* @abstract This project is to find out a part of string from anywhere in any folder
* @version 1.0
* @package anywhereinfiles
*
*
*
*
*************************************************************************/
session_start();
?>
<title>Any where In Files || AnyWhereInFiles.php</title>
<head>
<style>
h1{color: #233E99;}
td{ font-size:11px; font-family:arial;vertical-align:top;border:1px solid #fff;}
a{font-size:11px; font-family:arial;}
.me{font-size:11px; font-family:arial;color:#333;}
</style>
</head>
<h1>AnyWhereInFiles.php</h1>
<form action="<?php
echo $_SERVER['PHP_SELF'];
?>" method="POST">
<table>
<tbody>
<tr>
<td><label for="search">String </label></td>
<td><input id="search" type="text" name="search" placeholder="Enter your string" value="<?php
if (isset($_SESSION['searchString']) && $_SESSION['searchString'] != null)
echo $_SESSION['searchString'];
?>" /></td>
</tr>
<tr>
<td><label for="directory">Folder </label></td>
<td><input id="directory" type="text" name="directory" value="<?php
echo getcwd();
?>" /></td>
</tr>
<tr>
<td><label for="case">Case Sensitive </label></td>
<td><input type="checkbox" name="case" /></td>
</tr>
<tr>
<td><label for="maxtime">Max Execution Time </label></td>
<td><input type="text" name="maxtime" value="30"/></td>
<td>Do not change the value if you do not have an idea about it.</td>
</tr>
<tr>
<td><input type="submit" value="Search the string" /></td>
</tr>
</tbody>
</table>
</form>
<?php
function getDirContents($dir, &$results = array())
{
if ($_POST['search'] == null)
exit;
ini_set('max_execution_time', $_POST['maxtime']);
$_SESSION['searchString'] = $_POST['search'];
echo "<script>var elm = document.getElementById('search');elm.value='$_POST[search]';</script>";
if (!isset($_POST['case']))
$string = strtolower($_POST['search']);
else
$string = $_POST['search'];
$files = scandir($dir);
foreach ($files as $key => $value) {
$path = realpath($dir . DIRECTORY_SEPARATOR . $value);
if (!is_dir($path)) {
$content = file_get_contents($path);
if (!isset($_POST['case']))
$content = strtolower(file_get_contents($path));
if (strpos($content, $string) !== false) {
echo $path . "<br>";
}
$results[] = $path;
} else if ($value != "." && $value != "..") {
getDirContents($path, $results);
$results[] = $path;
}
}
return $results;
}
if (isset($_POST['directory']))
getDirContents($_POST['directory']);
//---------------------------------------------------------------------------------------------------------------------------------//
//@endof file anywhereinfiles.php
//@note if you have query, need, idea, help; feel free to contact [email protected]
?>
<br/>
<br/>
<span class="me">"AnyWhereInFiles" is a Open Source Project, developed by <a href="mailto:[email protected]">Faisal Shaikh</a> .
<br />
<a href="https://github.com/skfaisal93/AnyWhereInFiles">https://github.com/skfaisal93/AnyWhereInFiles</a>
</span>
オリジナルプロジェクト:https://github.com/skfaisal93/AnyWhereInFiles
+0
ありがとう!ファイサルの許諾を受けることができますか? –
+0
あなたは無料でそれを使用することができます。 –
関連する問題
- 1. どのようにして.moduleファイルの内容を検索できますか?
- 2. PHPファイル内の特定のキーワードをどのように検索しますか?
- 3. simplehtmldomのタグの内容でどのように検索しますか?
- 4. PHP: "different"ファイル名のようにファイル内容をエコーしますか?
- 5. PERFORCEデポ(P4V)内のファイルの内容を検索するにはどうすればよいですか?
- 6. どのようにファイル名なしでファイルの内容を取り除きますか?
- 7. Visual Studioソリューションではなく、ソースコントロール内のファイルを検索するにはどうすればよいですか?
- 8. ファイル名でIPFS内のファイルを検索しますか?
- 9. 検索し、次のように内容を
- 10. セルの内容の色はどのように検出できますか?
- 11. Eclipseでファイルとファイルの内容を検索する方法は?
- 12. 特定のディレクトリ名内のファイルを検索するにはどうすればよいですか?
- 13. モジュールのファイル名を毎回書く必要なく、インポートされたモジュールの内容をPythonでどのように使うことができますか?
- 14. どのように虫めがねを置いて、stackoverflowの検索ボックスに「検索」しましたか?
- 15. Googleの検索から「フィードバック」ボックスの内容を取得するにはどうすればよいですか?
- 16. アップロードされたファイルの内容をPHPでどのように取得できますか?
- 17. カテゴリ名とその内容をどのようにエコーしますか?
- 18. どのように製品をMagentoの製造名で検索し、配列を取得しますか? (PHP)
- 19. QLPreviewControllerは、サーバーからのファイルのファイルの内容ではなく、ドキュメントの内容を表示しています。
- 20. どのようにマップ内の検索でrewritecondを使用しますか
- 21. divタグに検索結果を追加して、次の検索時にその内容を上書きするにはどうすればよいですか?
- 22. 端末のpdfファイルの内容を検索できません
- 23. どのように '%...'を検索してインデックスを検索できますか?
- 24. は、データ用のテキストファイルを検索し、私のようなファイル内のデータを検索するためのテキストファイルを開くためにPHPを使用しようとしている
- 25. GITリモートのファイル内容のすべてのブランチを検索しますか?
- 26. gitはリネームの検出のために類似のファイルをどのように検出しますか?
- 27. ストアドプロシージャの内容をどのようにエクスポートしますか?
- 28. ドッカーボリュームの内容をどのように削除しますか?
- 29. 巨大なファイル内のキーワードの内容を検索して操作する
- 30. PHPでオブジェクトの内容を正しく印刷するにはどうしたらいいですか?
WHEあなたは「ファイル名を検索する」と言っていますが、そのファイル名を持つファイルをFilesディレクトリとサブディレクトリのどこにでもリストしたいですか?部分的なファイル名の一致が必要ですか(たとえば、 'a_img1.gif'などに一致する' img')か、正確な名前だけでしょうか?あなたは最初の試合で立ち止まる、またはすべての試合をリストしたいですか? – salathe
この質問に追加回答が不要になった場合は、該当する投稿に回答としてマークしてください。 –