为什么array_push在foreach循环中不起作用

时间:2017-12-08 11:45:49

标签: php foreach array-push

我有这个代码用于文件更新,我需要将文件路径放在响应数组中。但是我的数组是空的:

    $response = array();
    if (file_exists($directorSerie)) {
        if(is_array($_FILES)) {     
            foreach ($_FILES['fileToUpload']['name'] as $name => $value){
                if(is_uploaded_file($_FILES['fileToUpload']['tmp_name'][$name])) {
                    $sourcePath = $_FILES['fileToUpload']['tmp_name'][$name];
                    $targetPath = $directorSerieString.$_FILES['fileToUpload']['name'][$name];
                    array_push($response, $targetPath);                             


                    if(move_uploaded_file($sourcePath,$targetPath)) {
                        $success = "success";                   

                    }
                }
            }

        }
    }
exit(json_encode($response));

1 个答案:

答案 0 :(得分:-2)

array_push()适用于foreach。 我鼓励你把dubug发现错误在哪里。 您可以在代码级别之后放入var_dump($ var),如下所示:

if (file_exists($directorSerie)) {
  var_dump($directorSerie);

下一步...

if(is_array($_FILES)) {  
  var_dump($_FILES)

下一步

foreach ($_FILES['fileToUpload']['name'] as $name => $value){
   var_dump( $name ,$value);
直到你发现......