使用$pattern函数修改php代码以查找文件夹和子文件夹中的所有图像
嗯,我正在尝试编辑此代码,以包括所有子文件夹,问题是此代码只搜索到1个文件夹中的图像,它不会搜索到子文件夹中的图像使用$pattern函数修改php代码以查找文件夹和子文件夹中的所有图像,php,Php,嗯,我正在尝试编辑此代码,以包括所有子文件夹,问题是此代码只搜索到1个文件夹中的图像,它不会搜索到子文件夹中的图像 Header("content-type: application/x-javascript"); $pathstring=pathinfo($_SERVER['PHP_SELF']); $locationstring="http://" . $_SERVER['HTTP_HOST'].$pathstring['dirname'] . "/"; function returnim
Header("content-type: application/x-javascript");
$pathstring=pathinfo($_SERVER['PHP_SELF']);
$locationstring="http://" . $_SERVER['HTTP_HOST'].$pathstring['dirname'] . "/";
function returnimages($dirname=".")
{
$pattern="~\.(jpe?g|gif)$~";
$files = array();
if($handle = opendir($dirname))
{
while(false !== ($file = readdir($handle))){
if(preg_match($pattern, $file)){
$files[] = $file;
}
}
closedir($handle);
}
// sort pics in reverse order
rsort($files);
// output images into javascript array
foreach($files as $key => $pic)
{
echo "picsarray[$key] = '$pic';";
}
}
echo 'var locationstring="' . $locationstring . '";';
echo 'var picsarray=new Array();';
returnimages();
想法是有人可以修改此代码,以便能够搜索包括子文件夹在内的所有图像。我希望此方法对您有用:
Header("content-type: application/x-javascript");
$pathstring=pathinfo($_SERVER['PHP_SELF']);
$locationstring="http://" . $_SERVER['HTTP_HOST'].$pathstring['dirname'] . "/";
function returnimages($dirname=".")
{
$pattern="~\.(jpe?g|gif)$~";
$files = array();
if($handle = opendir($dirname))
{
while(false !== ($file = readdir($handle))){
if(preg_match($pattern, $file)){
$files[] = $file;
}
}
closedir($handle);
}
// sort pics in reverse order
rsort($files);
// output images into javascript array
foreach($files as $key => $pic)
{
echo "picsarray[$key] = '$pic';";
}
}
echo 'var locationstring="' . $locationstring . '";';
echo 'var picsarray=new Array();';
returnimages();
Header("content-type: application/x-javascript");
$pathstring=pathinfo($_SERVER['PHP_SELF']);
$locationstring="http://" . $_SERVER['HTTP_HOST'].$pathstring['dirname'] . "/";
function returnImages($dir = ".")
{
$files = array_diff(scandir($dir), Array(".", ".."));
$dir_array = Array();
$images = array();
$pattern="~\.(jpe?g|gif)$~";
foreach ($files as $file) {
$path = $dir . "/" . $file;
if (is_dir($path)) {
// This does the magic, if is a folder, we recursively seek for more images.
$images = array_merge($images, returnImages($path));
}
else if (preg_match($pattern, $path)) {
$images[] = $path;
}
}
return $images;
}
function printSortedImages(array $images) {
// sort pics in reverse order
rsort($images);
// output images into javascript array
foreach($images as $key => $pic)
{
echo "picsarray[$key] = '$pic';";
}
}
echo 'var locationstring="' . $locationstring . '";';
echo 'var picsarray=new Array();';
$images = returnImages();
printSortedImages($images);