-1

I am not very good with loops but I want to loop through every one of the session file values in the array. How is the foreach loop written in this situation and does it go in the php script or in the javascript code?

Below is the full php script where it uploads a file:

<?php

session_start();

$result = 0;
$errors = array ();
$dirImage = "ImageFiles/";


if (isset ( $_FILES ['fileImage'] ) && $_FILES ["fileImage"] ["error"] == UPLOAD_ERR_OK) {

    $fileName = $_FILES ['fileImage'] ['name'];

    $fileExt = pathinfo ( $fileName, PATHINFO_EXTENSION );
    $fileExt = strtolower ( $fileExt );


    $fileDst = $dirImage . DIRECTORY_SEPARATOR . $fileName;
    $filePrifix = basename ( $fileName, "." . $fileExt );
    $i = 0;
    while ( file_exists ( $fileDst ) ) {
        $i ++;
        $fileDst = $dirImage . DIRECTORY_SEPARATOR . $filePrifix . "_" . $i . "." . $fileExt;

    }
    // Move the file

    if (count ( $errors ) == 0) {
        if (move_uploaded_file ( $fileTemp, $fileDst )) {
            $result = 1;


        }
    }

}

$_SESSION ['fileImage'][] = $_FILES ['fileImage']['name'];

?>

  <script language="javascript" type="text/javascript">window.top.stopImageUpload(<?php echo $result;?>);</script>

Below is the javascript function which contains the json code:

function stopImageUpload(success){

      var imageNameArray = <?php echo json_encode(isset($_SESSION ['fileImage']) ? $_SESSION ['fileImage'] : null); ?>;
      var result = '';



      if (success == 1){
         result = '<span class="msg">The file was uploaded successfully!</span><br/><br/>';
            for (imagename in imageNameArray)
    {
         $('.listImage').append(imagename + '<br/>');

     }

      }
      else {
         result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
      }

      $(sourceImageForm).find('.imagef1_upload_process').css('visibility','hidden');
      $(sourceImageForm).find('.imagef1_cancel').css('visibility','hidden');

      $(".sbtnimage").removeAttr("disabled");
      $(".sbtnvideo").removeAttr("disabled");
      $(".sbtnaudio").removeAttr("disabled");


      return true;   
}
4

1 回答 1

0
$_SESSION ['fileImage'][] = $_FILES ['fileImage']['name'];

把它放在 PHP 代码末尾附近的某个地方。

var imageNameArray = <?php echo json_encode(isset($_SESSION ['fileImage']) ? $_SESSION ['fileImage'] : null); ?>;

将您的 Javascript 更改imagename为此。

然后做一个循环:

for (imagename in imageNameArray)
{
    if (success == 1)
    {
         result = '<span class="msg">The file was uploaded successfully!</span><br/><br/>';
         $('.listImage').append(imagename + '<br/>');
      }
      else {
         result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
      }
}
于 2012-04-26T01:27:04.560 回答