我有以下功能将文件上传到数据库表字段。
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);
}
}
}
但是,这确实会构建堆栈层,并且可能对调试很麻烦。
只要您正确处理循环条件,请使用段循环是一个明智的策略。