我有以下功能将文件上传到数据库表字段。
protected function _upload_file() {
...
}
上传后,上传新文件会覆盖原始上传文件。
我想要的是在不覆盖文件的情况下建立新的上传。我看待它的方式,我将不得不创建一个新的函数,如;
function if_upload_file() {
...
}
如果该功能成功,则重复功能。
知道如何才能做到这一点吗?
答案 0 :(得分:4)
如果文件成功上传,让函数返回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;
}
}
至少我认为这可能有用......甚至不确定。好吧,没风险没有乐趣。
答案 1 :(得分:2)
Y U NO WORK
答案的替代方法是递归使用该函数。
E.g。如果你有一个要上传的文件数组..
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);
}
}
}
然而,这确实构建了堆栈层,并且对于调试来说可能非常麻烦。
只要正确处理循环条件,使用while循环将是一种明智的策略。