如果功能成功,请重复PHP



我有以下功能将文件上传到数据库表字段。

protected function _upload_file() {
  ...
} 

上传后,上传一个新文件覆盖原始上传的文件。

我想要的是在不覆盖文件的情况下建立新的上传。我看到的方式,我必须创建一个新功能,例如;

function if_upload_file() {
   ...
}

如果该功能成功,则重复功能。

知道我该怎么做?

如果成功上传文件,并且只要它保持正确,则会返回true,您会一次又一次地循环。像这样

$con = true;
while($con) {
    if($con) {
        $con = your_function()
    }   
}
//your function
function your_function() {
    //do your stuff here
    if($file_upload_successful) {
        return true;
    } else {
        return false;
    }
}

至少我认为这可能有效...甚至不确定。好吧,没有风险没有乐趣。

Y U NO WORK答案的替代方法是递归使用该函数。

例如。如果您有一系列文件要上传。

function foo($array_of_files) {
    if(is_array($array_of_files) && count($array_of_files) > 0) {
        $file = array_shift($array_of_files);
        // ... Handle upload code.
        if(count($array_of_files) > 0) {
            foo($array_of_files);
        }
    }
}

但是,这确实会构建堆栈层,并且可能对调试很麻烦。

只要您正确处理循环条件,请使用段循环是一个明智的策略。

最新更新