Скрипт загрузки файла Ajax перезаписывает мои переменные сеанса PHP - PullRequest
0 голосов
/ 17 января 2010

Ниже приведен скрипт, который использует мой загрузчик файлов ajax. Сам загрузчик работает нормально, но мне нужен способ хранения загруженных файлов, и я использую переменные сеанса. Проблема в том, что если я загружаю более одного файла, первая переменная сеанса перезаписывается каждый раз, когда я загружаю файл, и в результате получается только $ _SESSION ['hamhamham'], содержащий данные. Может кто-нибудь сказать мне, что я здесь делаю не так? Заранее спасибо

session_start();

$uploaddir = '../uploads/';
$uploadfile = $uploaddir . date() .time() . basename($_FILES['myfile']['name']);


/* $_SESSION['hamhamham'] = $uploadfile; */

$full = false;

if(isset($_SESSION['hamhamham'])){ 

    if(isset($_SESSION['hohoho'])){ 

        if(isset($_SESSION['workforme'])){ 

            if(isset($_SESSION['sweet'])){ 

                $full = true;

            }else{
                $_SESSION['sweet'] = $uploadfile;
            }

        }else{
            $_SESSION['workforme'] = $uploadfile;
        }

    }else{
        $_SESSION['hohoho'] = $uploadfile;
    }

}else{
    $_SESSION['hamhamham'] = $uploadfile;
}

if($full==false){
    if (move_uploaded_file($_FILES['myfile']['tmp_name'], $uploadfile)) {
      echo "success";
    } else {
      // WARNING! DO NOT USE "FALSE" STRING AS A RESPONSE!
      // Otherwise onSubmit event will not be fired
      echo "error";
    }
}else{
    echo "too many files uploaded";
}

1 Ответ

2 голосов
/ 17 января 2010

Сделать массив

$_SESSION['files'][] = $uploadFile;

Для доступа

foreach($_SESSION['files'] as $file_name)
{
    // do stuff
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...