0

我有一个循环,如果文件夹名为“data”,则索引文件并将所有文件显示为循环。此外,它会检查 url 字符串,如果字符串 "d" (index.php?d=folderrandom) 中描述了子文件夹 (data/folderrandom),那么它会显示该子文件夹的文件!

我想从循环中切出两个名为“downloadHTML”和“downloadPHP”的文件,它们存储在“data”文件夹中。我想切片包含上述文件名的项目!部分循环代码如下

if(count($files) >= 1){
foreach ($files as $file) { 
    $nb++;
    if (!is_dir($file)) {
?>

    <div class="tab icon">hi
    <?php if($folders){ ?>
        <a href="index.php?p=view&f=<?php echo $nb; ?>&d=<?php echo $folders; ?>">
    <?php }else{ ?>
        <a href="index.php?p=view&f=<?php echo $nb; ?>">
    <?php 
        }
        $info = preg_replace("/\\.[^.\\s]{3,4}$/", "", $file);
        echo basename($info);
        $blocks[$nb] = $file; 
        ?>
    </a>
</div>
<?php 
    }else{
    $file_name =  basename($file);  
?>  

下面的 php 代码从你喜欢的左右切片项目。它非常有用,可以帮助获得答案。

<?
function arem($array,$value){
    $holding=array();
    foreach($array as $k => $v){
        if($value!=$v){
            $holding[$k]=$v;
        }
    }    
    return $holding;
}

function akrem($array,$key){
    $holding=array();
    foreach($array as $k => $v){
        if($key!=$k){
            $holding[$k]=$v;
        }
    }    
    return $holding;
}

$lunch = array('sandwich' => 'cheese', 'cookie'=>'oatmeal','drink' => 'tea','fruit' => 'apple');
echo '<pre>';
print_r($lunch);
$lunch=arem($lunch,'apple');
print_r($lunch);
$lunch=akrem($lunch,'sandwich');
print_r($lunch);
echo '</pre>';
?>
4

1 回答 1

1

slice你的意思是不要在输出中显示它们?如果是这样,您可以将其放入您的 foreach 循环中:

foreach ($files as $file) { 
    $nb++;
    if(preg_match("/downloadHTML|downloadPHP/i", $file)){
        continue;
    }
    // The rest of the foreach
}
于 2013-04-28T17:46:00.663 回答