У меня есть переменная $ _SESSION, которая должна отображать имена файлов, которые были загружены. Проблема в том, что он этого не делает, он отображает только имя файла только для 1 файла и только для 1 файла. Например, если я загружаю файлы «jellyfish.png» и «tulips.png», он должен отображать имена файлов «jellyfish.png» и «tulips.png» для $_SESSION['fileImage'];
, но вместо этого он отображает оба имени файла в качестве имени это: «jellyfish.png» и «jellyfish.png».только отображает одно имя файла
Когда я делаю var_dump($_SESSION ['fileImage']);
для примера выше, он выводит это: string(13) "Jellyfish.jpg"
, независимо от того, какой файл загружен. Если я обновляю браузер и скажу, что последний файл, который я загрузил на сервер, был «tulips.png», то он выводит это: string(10) "tulips.jpg"
, для каждого файла независимо от того, какой файл загружен до следующего обновления.
Кто-нибудь знает, как исправить это, чтобы отображать правильные имена файлов для каждого загруженного файла под переменной $ _SESSION?
Ниже PHP скрипт:
<?php
session_start();
$dirImage = "ImageFiles/";
if (isset ($_FILES ['fileImage']) && $_FILES ["fileImage"] ["error"] == UPLOAD_ERR_OK) {
$_SESSION ['fileImage'] = $_FILES ['fileImage']['name'];
$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;
}
}
}
?>
<script language="javascript" type="text/javascript">window.top.stopImageUpload(<?php echo $result;?>);</script>
Ниже приведен код Javascript, который содержит JSON:
function stopImageUpload(success){
var imagename = <?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/>';
$('.listImage').append(imagename + '<br/>');
}
else {
result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
}
return true;
}
<?php
var_dump($_SESSION ['fileImage']);
?>
Почему вы удаления и повторного добавления этот вопрос ???? У некоторых из нас есть хорошая память, которую вы знаете – Baba
Возможный дубликат [где для отображения переменной $ _SESSION ниже] (http://stackoverflow.com/questions/10278801/where-to-display-session-variable-below) – Baba