我对创建搜索引擎以查找文件的目录路径有疑问。
例如,考虑这是更新的代码,
<?php
$files = array();
if(isset($_POST['submit'])) {
$file_to_search = $_POST['file'];
$root_path = "C:\\xampp\\htdocs\\cat\\"; // your doc root
foreach ($iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($root_path,
RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::SELF_FIRST) as $value) {
if($value->getFilename() == $file_to_search) {
$files[] = $value->getPathname();
}
}
}
?>
<form method="POST" action="index1.php">
File To Search: <input type="text" name="file" /><br/>
<input type="submit" name="submit" value="Search" />
</form>
<?php if(!empty($files)): ?>
<div id="output">
<?php foreach($files as $value) {
echo "$value<br/>";
} ?>
</div>
<?php endif; ?>
我想创建搜索引擎,用于查找某个文件的确切目录路径。
任何人都可以帮助我吗?提前谢谢。
答案 0 :(得分:0)
您想要的是glob()
功能,以搜索文件
答案 1 :(得分:0)
你应该使用这个2内置函数
echo basename(__DIR__);
echo basename(__FILE__);
FILE 获取当前文件路径
// Current file fullpaths
$current_file = str_replace('\\','/',__FILE__);
答案 2 :(得分:0)
关于获取完全目录路径的问题,如果某个文件,或者您可以使用RecursiveDirectoryIterator
搜索您想知道它在哪里的文件
让我们说,我有这样的结构:
/var/
/www/
/test/
/images/
/images1/
image.png <--- this one for example
image.jpg
/images2/
image3.png
假设您要搜索 image.png 。考虑这个例子:
$file_to_search = 'image.png';
$root_path = '/var/www/test'; // your doc root
foreach ($iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($root_path,
RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::SELF_FIRST) as $value) {
if($value->getFilename() == $file_to_search) {
echo $value->getPathname();
}
}
// should output: /var/www/test/images/images1/image.png
上述代码的简单应用:
<?php
$files = array();
if(isset($_POST['submit'])) {
$file_to_search = $_POST['file'];
$root_path = '/var/www/test'; // your doc root
foreach ($iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($root_path,
RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::SELF_FIRST) as $value) {
if($value->getFilename() == $file_to_search) {
$files[] = $value->getPathname();
}
}
}
?>
<form method="POST" action="index.php">
File To Search: <input type="text" name="file" /><br/>
<input type="submit" name="submit" value="Search" />
</form>
<?php if(!empty($files)): ?>
<div id="output">
<?php foreach($files as $value) {
echo "$value<br/>";
} ?>
</div>
<?php else: ?>
<?php if(isset($_POST['submit'])) echo 'no file found'; ?>
<?php endif; ?>