簡體   English   中英

PHP file_exists()一次檢查多個文件

[英]PHP file_exists() to check multiple files at once

我想一次檢查多個文件是否存在。 如果這些文件中的任何一個存在,我想顯示一個文本:

$filepre = ''.$br.'/filethumb/'.$name.'.jpg';
$filess = ''.$br.'/ss/'.$name.'.jpg';
$filess1 = ''.$br.'/ss/'.$name.'1.jpg';
$filess2 = ''.$br.'/ss/'.$name.'2.jpg';
$filess3 = ''.$br.'/ss/'.$name.'3.jpg';
$filess4 = ''.$br.'/ss/'.$name.'4.jpg';
$filess5 = ''.$br.'/ss/'.$name.'5.jpg';
$filess6 = ''.$br.'/ss/'.$name.'6.jpg';
$filess7 = ''.$br.'/ss/'.$name.'7.jpg';
$filess8 = ''.$br.'/ss/'.$name.'8.jpg';
$filess9 = ''.$br.'/ss/'.$name.'9.jpg';

然后,我想檢查這些文件是否存在。 如果這10個文件中的1個存在,則顯示文本"Screenshots:" 如果不存在文件,則不會顯示任何內容。

我試過了:

if (file_exists($filess or $filess1 or $filess2 or $filess3 or $filess4 or $filess5 or $filess6 or $filess7 or $filess8 or $filess9)){
echo 'Screenshots';
}

我做錯了什么不起作用嗎?

將文件名放在數組中並循環遍歷:

$files = array('file_name_1', 'file_name_2'...);

foreach($files as $file){
    if(file_exists($file)){
        echo "screenshots";
        break;
    }
}

我將使用一個數組,對其進行過濾並檢查其是否為空:

$files[] = $br.'/ss/'.$name.'1.jpg';
$files[] = $br.'/ss/'.$name.'2.jpg';
//etc...

if(array_filter($files, 'file_exists')) {
    echo "Screenshots:";
}

這是可擴展的,因為您可以比較結果的count()以查看是否存在2、3、4等。或者該計數等於原始數組的計數。

您需要在if條件下重新安排檢查,

if (file_exists($filess) or file_exists($filess1) or file_exists($filess2) or file_exists($filess3) or file_exists($filess4) or file_exists($filess5) or file_exists($filess6) or file_exists($filess7) or file_exists($filess8) or file_exists($filess9)){
    echo 'Screenshots';
}

僅當您不想使用數組和循環時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM