如何在文件夹

时间:2015-12-01 04:59:36

标签: php

我的功能默认情况下会在7天内删除。如果我在30天内设置了文件夹过期,则默认情况下将在7天内删除该文件夹中的文件。 所以我想在每个文件里面设置Timeup_limit,但我不知道如何使用递归来更新每个文件。

public static function setTimeuplimitFile( $itemSource, $dateLimit) {

    $query = \OC_DB::prepare('UPDATE `oc_filecache` SET `timeup_limit` = ? WHERE `fileid` = ?');
    $query->bindValue(1, $dateLimit);
    $query->bindValue(2, $itemSource);
    $query->execute();
    return true;
}

文件夹#Updated的功能

public static function setTimeuplimitFolder($itemSource, $dateLimit) {

    $query = \OC_DB::prepare('UPDATE `oc_filecache` SET `timeup_limit` = ? WHERE `fileid` = ?');
    $query->bindValue(1, $dateLimit);
    $query->bindValue(2, $itemSource);
    $query->execute();


    $query2 = \OC_DB::prepare('SELECT mimetype,fileid FROM`oc_filecache` WHERE `parent` = ?');
    $r = $query2->execute(array($itemSource));

    if ($r) {
        while($row = $r->fetchRow()){
            if($row["mimetype"] == 2){ //mimetype = 2 is folder
                OCP\Share::setTimeuplimitFolder($row["fileid"],$dateLimit);
            }
            else{ //file
                $query = \OC_DB::prepare('UPDATE `oc_filecache` SET `timeup_limit` = ? WHERE `fileid` = ?');
                $query->bindValue(1, $dateLimit);
                $fileid = $row["fileid"];
                $query->bindValue(2, $fileid);
                $query->execute();

            }
        }
    }




    return true;
}

enter image description here

但它没有用。

0 个答案:

没有答案