首页 > 解决方案 > 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";

标签: php

解决方案


好的,通过使用 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>';

推荐阅读