使用 file_exists 获取哪个文件不存在但使用数组

Get which file doesn't exist with file_exists but using an array

嗯,

我有一个脚本,用于检查数组中的文件之一是否存在。

但现在我不知道如何从不存在的数组中获取文件。 这是一个例子:

<?php
$files = [
   "user/important.ini",
   "user/really_needed.php"
];

if(file_exists($files) == false) {
   $data = "1";
   $meta = array(
       "file" => ????,
       "error" => "Missing file"
    );

?>

所以我想"replace"“????”与不存在的文件,因为我不知道如何得到这个文件,所以是那些问号。

是否有我可以使用的代码来获取不存在的文件?

file_exists() 需要一个文件名,如果你使用一个数组(就像你现在所做的那样),你应该得到一个警告...

Warning: file_exists() expects parameter 1 to be a valid path, array given

这假定您需要所有不存在的文件并保留失败列表。它在数组上使用 foreach() 并测试每个项目,如果不存在则使用 $meta[] 将其添加到列表中(不要忘记在循环之前初始化此数组)...

$files = [
        "user/important.ini",
        "user/really_needed.php"
];
$meta = [];
foreach ( $files as $file ) {
    if(file_exists($file) == false) {
        $data = "1";
        $meta[] = array(
                "file" => $file,
                "error" => "Missing file"
        );
    }
}

print_r($meta);

遍历文件以检查它们是否存在是一种可以做到这一点的方法。我建议在这里使用 foreach 循环。

<?php
$files = [
   "user/important.ini",
   "user/really_needed.php"
];

$meta = [];
foreach ($files as $file) {
   if(!file_exists($file) {
      $data = "1";
      $meta[] = array(
         "file" => $file,
         "error" => "Missing file"
      );
?>