2012-04-28 6 views
0

업로드 된 파일 이름을 표시하는 것으로 가정되는 imageNameArray를 추가하는 데 문제가 있습니다.업로드 된 파일 이름을 추가하는 방법은 무엇입니까?

문제는 내가 페이지를 새로 고치고 다른 파일 (panda.png)을 업로드 할 때 이전에 파일 3 개 (cat.png, dog.png 및 pig.png)를 업로드했다고 말하면서 파일을 업로드 할 때, 'panda.png'가 표시되어야합니다. 대신 이전에 업로드 한 파일 (pig.png)의 이름을 추가하는 것이고 panda.png는 추가하지 않습니다.

IT는 표시

pig.png 

는 IT가해야합니다

panda.png 

내가 다른 파일과 같은 monkey.png로 (하지 상쾌한 페이지)를 업로드하는 경우는, 다시는 pig.png을 추가합니다. 원숭이 .png.

IT는 표시

pig.png 
pig.png 

IT는해야합니다 : 그것은 위해야으로 파일 이름을 추가하도록

panda.png 
monkey.png 

어떻게 코드는 아래에 고정 될 수 있는가?

 <?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; 

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


        } 
       } 

      } 

    $_POST ['fileImage'][] = array('name' => $_FILES ['fileImage']['name']); 

      ?> 

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

답변

0

이유 : 아래

<?php 
    session_start(); 

    $idx = count($_POST ['fileImage']) -1 ; 
    $output = isset($_POST ['fileImage'][$idx]) ? $_SESSION ['fileImage'][$idx]['name'] : ""; 

    ?> 

       function stopImageUpload(success){ 

       var imageNameArray = ['<?php echo $output ?>']; 
       var result = ''; 



       if (success == 1){ 
       result = '<span class="msg">The file was uploaded successfully!</span><br/><br/>'; 

        for(var i=0;i<imageNameArray.length;i++) 
      { 
       $('.listImage').append(imageNameArray[i]+ '<br/>'); 

      } 

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

     return true; 

     } 

는 위의 자바 스크립트 함수에서 다른 페이지에있는 파일을 업로드 PHP 스크립트입니다 : 아래

은 첨부 된이 발생하는 자바 스크립트 코드 당신은 세션을 사용하고 있습니까? session_destroy()를 추가하려고합니다. 두 번째 스크립트와 첫 번째 스크립트의 끝에 나는 그것이 모든 previos 데이터를 삭제해야한다고 생각한다. 그러면 문제가 무엇인지 더 많이 알게된다.

+0

$ _SESSION을 사용하지 않으면 PHP 스크립트에서 파일 이름을 검색 할 수 없습니다. – user1359453

+0

session_destroy가 작동하지 않습니다. – user1359453

+0

$ _POST를 사용할 수 없습니까? – yair144

관련 문제