PHP foreach在第一次迭代后停止
我有一个表格,其中有三个文件输入。使用下面的代码,我尝试使用一些随机散列和文件名将文件从TMP本地化移动到./uploads 我对PHP foreach在第一次迭代后停止,php,file,foreach,Php,File,Foreach,我有一个表格,其中有三个文件输入。使用下面的代码,我尝试使用一些随机散列和文件名将文件从TMP本地化移动到./uploads 我对foreach有问题,因为在第一次迭代并将文件保存到uploads目录后,它正在停止。我不知道为什么表中的其他两个元素不会发生这种情况。下面是整个函数,有点乱,但我希望可以理解 function saveFile(){ global $patchFile; $fileArray = [ $_FILES['file_one']['name'], $_FILES['f
foreach
有问题,因为在第一次迭代并将文件保存到uploads目录后,它正在停止。我不知道为什么表中的其他两个元素不会发生这种情况。下面是整个函数,有点乱,但我希望可以理解
function saveFile(){
global $patchFile;
$fileArray = [ $_FILES['file_one']['name'], $_FILES['file_two']['name'], $_FILES['file_three']['name'] ];
$tmpArray = [ $_FILES['file_one']['tmp_name'], $_FILES['file_two']['tmp_name'], $_FILES['file_three']['tmp_name'] ];
$multiArray =
[
[$_FILES['file_one']['name'], $_FILES['file_one']['tmp_name']],
[$_FILES['file_two']['name'], $_FILES['file_two']['tmp_name']],
[$_FILES['file_three']['name'], $_FILES['file_three']['tmp_name']]
];
foreach ($multiArray as $key)
{
echo "<br />Key: ".$key[0]."\n";
echo "Key_tmp: ".$key[1]."\n";
$randomString = generateRandomString();
$patchFile = './uploads/'.$randomString.$key[0];
echo "<br />Check patchFile: $patchFile";
if(is_uploaded_file($key[1]))
{
echo "<br />Begin uploading to directory...<br />";
if(!move_uploaded_file($key[1], $patchFile))
{
echo 'Problem: Nie udało się skopiować pliku do katalogu.';
return false;
}
else {
echo "File was saved in uploads directory";
return true;
}
}
else
{
echo "Uploading to directory... FAILED!";
}
}
}
函数saveFile(){
全局$patchFile;
$fileArray=[$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
$tmpArray=[$\u FILES['file\u one']['tmp\u name'],$\u FILES['file\u two']['tmp\u name'],$\u FILES['file\u three']['tmp\u name'];
$multiArray=
[
[$\u文件['file\u one']['name'],$\u文件['file\u one']['tmp\u name'],
[$\u文件['file\u two']['name'],$\u文件['file\u two']['tmp\u name'],
[$\u文件['file\u three']['name'],$\u文件['file\u three']['tmp\u name']]
];
foreach($multiArray作为$key)
{
回显“
键:.$Key[0]。”\n”;
回显“Key\u tmp:.$Key[1]。\n”;
$randomString=generateRandomString();
$patchFile='./上载/'.$randomString.$key[0];
echo“
检查修补文件:$patchFile”;
如果(是否上载了文件($key[1]))
{
echo“
开始上传到目录…
”;
如果(!移动上传的文件($key[1],$patchFile))
{
echo“问题:Nie udało sięskopiowaćpliku do katalogu”;
返回false;
}
否则{
echo“文件保存在上传目录中”;
返回true;
}
}
其他的
{
echo“上载到目录…失败!”;
}
}
}
当你从循环中返回某个东西时,循环总是被破坏的
根据:
如果从函数中调用,return
语句立即结束当前函数的执行,并将其参数作为函数调用的值返回
当您从循环中返回某个内容时,循环总是中断的。您应该根据此注释作出回答;)非常感谢。