PHP 从目录中获取单个文件名

PHP get single file name from directory

尝试从目录中获取单个文件(按字母顺序)

文件类型为 png jpeg tiff gif

最终输出就像 echo firstimage.jpg nextiamge.jpg previous.img

无法正常工作.. 从这个开始

这是我从未保存的电源修正中恢复的(显示工作)

function getRandomFromArray($ar) {
mt_srand( (double)microtime() * 1000000 ); 
$num = array_rand($ar); 
return $ar[$num];
}

function getImagesFromDir($path) {
$images = array();
if ( $img_dir = @opendir($path) ) {
while ( false !== ($img_file = readdir($img_dir)) ) {
// checks for gif, jpg, png
if ( preg_match("/(\.gif|\.jpg|\.png)$/", $img_file) ) {
$images[] = $img_file; 
}
}
closedir($img_dir); 
}
return $images; 
echo $images;
}

$root = '/ers/m'; 
// If images not in sub directory of current directory specify root 
//$root = $_SERVER['DOCUMENT_ROOT'];

$path = ''; 

// Obtain list of images from directory 
$imgList = getImagesFromDir($root . $path);

$img = getRandomFromArray($imgList); 

我想制作的是幻灯片...来自目录 但我现在可以输出第一个文件了..

但仅此而已 回声 "slideshow.php?nextimage.jpg"

这里是基本思路
$dir = '*.jpg, *.png'; ETC 从目录中获取名字 从目录中获取下一个名称

感谢 Rizier123 $types = array("png", "jpeg", "tiff", "gif"); $files = array();

    foreach($types as $type) {
        $files[$type] = glob("*.$type");
    }

    array_multisort($files);

    foreach($files as $key => $type) {
        if(count($type) > 0) {
            echo "Type: " . $key . " First file: " . $type[0];
        }
    }

抱歉,被否决是不公平的,我试图挽救这项工作,但在我的国家,我们拥有可怕的力量

这应该适合你:

<?php

    $types = array("png", "jpeg", "tiff", "gif");
    $files = array();

    foreach($types as $type) {
        $files[$type] = glob("*.$type");
    }

    array_multisort($files);

    foreach($files as $key => $type) {
        if(count($type) > 0) {
            echo "Type: " . $key . " First file: " . $type[0];
        }
    }

?>

可能的输出:

Type: png First file: gre.png
Type: gif First file: 1.gif

这是我从未保存的电源修正中恢复的(显示工作)

function getRandomFromArray($ar) {
mt_srand( (double)microtime() * 1000000 ); 
$num = array_rand($ar); 
return $ar[$num];
}

function getImagesFromDir($path) {
$images = array();
if ( $img_dir = @opendir($path) ) {
while ( false !== ($img_file = readdir($img_dir)) ) {
// checks for gif, jpg, png
if ( preg_match("/(\.gif|\.jpg|\.png)$/", $img_file) ) {
$images[] = $img_file; 
}
}
closedir($img_dir); 
}
return $images; 
echo $images;
}

$root = '/ers/m'; 
// If images not in sub directory of current directory specify root 
//$root = $_SERVER['DOCUMENT_ROOT'];

$path = ''; 

// Obtain list of images from directory 
$imgList = getImagesFromDir($root . $path);

$img = getRandomFromArray($imgList);