У меня есть HTML-форма для ввода файла и при загрузке вызывается upload.php, и файл загружается на сервер.Я хочу остаться на той же странице и отображать статус загрузки на ярлыке в форме.Я использую переменную сеанса, которая обновляется в upload.php, я вставляю $ _SESSION ['status'] в метку.
<form action="upload.php" method="post" enctype="multipart/form-data">
<div id="fileDiv">
<?php $_SESSION['status']=" ";?>
<h3>Select file to upload:</h3>
<div class="form-group"><input type="file" name="fileToUpload" id="fileToUpload" required="true" ></div>
<div class="form-group"><input type="submit" value="Upload" name="submit" id="fileUpload"></div>
<div class="form-group"><label><?php echo $_SESSION['status']?></label></div>
</div>
</form>
upload.php
<?php
session_start();
include ("./PHPExcel/IOFactory.php");
include_once('./PHPExcel/PHPExcel.php');
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$FileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Allow only Excel doc
if($FileType != "xlsx" && $FileType != "xls" ) {
$_SESSION['status']= "Only excel(.xls or .xlsx) files are allowed.";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0)
$_SESSION['status']="file was not uploaded.";
else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file))
$_SESSION['status']="File uploaded";
else
$_SESSION['status']="error uploading your file.";
} ?>
Isесть решение AJAX, альтернативное enctype = "multipart / form-data"?,Файл успешно загружен, просто я хочу остаться на той же странице.