php - PHP页面刷新不保持变量值
问题描述
我正在尝试上传一个可以正常工作的文件。按下上传按钮后,我需要刷新页面,以便文件显示在页面上,而无需用户刷新页面。这也很好用。我想将变量 $refresh 更改为 1,但即使我在重新加载页面之后放置代码,它也会将 $refresh 变量保持为 2。如何让变量保持为 1。
$refresh = "2";
$dir_path = "Dir10/";
$items = scandir($dir_path);
echo 'List of files in ' . $dir_path;
foreach($items as $item){
echo '<li>' . $item . '</li>';
}
echo '<br>';
echo '<form method="post" enctype="multipart/form-data">
<input type="file" name="file1"><br>
<input type="submit" value="Upload" name="submit">
</form>';
if(isset($_POST['submit'])){ //when upload button is press upload file
$tmp_name = $_FILES['file1']['tmp_name'];
$path=getcwd() . DIRECTORY_SEPARATOR . $dir_path;
$name = $path . DIRECTORY_SEPARATOR . $_FILES['file1']['name'];
$success = move_uploaded_file($tmp_name, $name);
header("Location:task10.php"); //refresh page
//echo "<meta http-equiv='refresh' content='1'>"; this also does the same
$refresh = "1";
解决方案
好的,通过使用 java 脚本做对了。将我想刷新的内容放在 div 标签中,然后在我想刷新的地方运行这个脚本。
echo '<div id="reload">' ;
echo '<strong>'.'List of files in Dir10'.'</strong> '; //display list of files
foreach($items as $item){
echo '<li>' . $item . '</li>';
}
echo '<script type="text/javascript">
$("#refresh").load("task10.php #refresh");
</script>';
推荐阅读
- css - 考虑到网格布局中第一行的高度,我可以有一个全高的第二行吗?
- r - 如何将回归线添加到散点图
- python - 无法在 asyncio 中安排任何内容。(Python 3.7.x)
- git - 如何在 Visual Studio 中对 2 个不同的文件进行版本控制
- java - 弹簧靴休息日减量
- azure - 无法更改 Azure 帐户注册的付款信息中的“地区/国家”
- typescript - 在打字稿的分隔文件中实现方法类
- java - 如何以编程方式重命名包和类?
- azure-devops - 我可以在我的 Azure 管道中使用 2 个代理池吗?
- php - 在 laravel 8 中运行时,多态关系给出一个空白页