我正在尝试使用递归搜索返回指定目录中的文件.我成功实现了这一点,但是我想添加几行代码,这些代码允许我指定我想要返回的某些扩展.
例如,只返回目录中的.jpg文件.
这是我的代码,
<?php
$it = new RecursiveDirectoryIterator("L:\folder\folder\folder");
foreach(new RecursiveIteratorIterator($it) as $file) {
echo $file . "<br/> \n";
}
?>
Run Code Online (Sandbox Code Playgroud)
请让我知道我可以添加到上面的代码来实现这一点,谢谢
通常我们使用以下代码将php文件包含在彼此内:
<?php
include_once 'include/config.php';
// OR
include 'include/config.php';
// OR
include_once $_SERVER['DOCUMENT_ROOT'].'include/config.php';
// ect...
?>
Run Code Online (Sandbox Code Playgroud)
但上述代码仅适用于php文件位于根文件中的情况.我的意思是,如果我们将文件移动到子文件夹中.我们需要对php文件中包含的代码进行更改.例如这样:
<?php
include_once 'subfolder/include/config.php';
// OR
include 'subfolder/include/config.php';
// OR
include_once $_SERVER['DOCUMENT_ROOT'].'/subfolder/include/config.php';
// ect...
?>
Run Code Online (Sandbox Code Playgroud)
我所说的是当我们将php文件移动到子文件夹中时,include_once希望看到子文件夹名称如(include_once 'subfolder/include/config.php';).这是一个具有挑战性的情况,因为我们需要在许多文件中为包含的页面执行此操作.
比如我包括include_once $_SERVER['DOCUMENT_ROOT'].'/functions/includes.php';从index.php和也包括在此includes.php文件从所有PHP文件一样header.php, posts.php, and ajax_post.php.它从根文件夹工作正常,但如果我们移动子文件夹中的文件,则include.php文件不包括子文件夹名称.
也许它也可以这样做.htaccess.
我已经制作了这个htaccess代码,也许你有一个htaccess的解决方案.我必须说我已经尝试使用RewriteBase /subfoldername/但包含文件没有用.
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=302,NE,L]
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteRule ^(.*)index\.php$ /$1 …Run Code Online (Sandbox Code Playgroud) 对于读取1-2K左右的文件,glob()和opendir()之间哪个更快?
我不想扫描目录及其子目录中的所有文件.并在阵列中获取他们的路径.就像在数组目录中的文件路径一样
path - > text.txt
而子目录中文件的路径将是
somedirectory /的text.txt
我能够扫描单个目录,但它返回所有文件和子目录,没有任何区分方法.
if ($handle = opendir('fonts/')) {
/* This is the correct way to loop over the directory. */
while (false !== ($entry = readdir($handle))) {
echo "$entry<br/>";
}
closedir($handle);
}
Run Code Online (Sandbox Code Playgroud)
使用其路径获取目录和子目录中的所有文件的最佳方法是什么?