0

「data」という名前のフォルダーの場合にファイルにインデックスを付け、すべてのファイルをループとして表示するループがあります。さらに、url 文字列をチェックし、文字列 "d" (index.php?d=folderrandom) に記述されたサブフォルダー (data/folderrandom) があれば、そのサブフォルダーのファイルを表示します。

「data」フォルダーに格納されている「downloadHTML」と「downloadPHP」という 2 つのファイルをループから切り出します。上記のファイル名を含むアイテムをスライスしたい!ループコードの一部は以下の通りです

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 に答える