Php 文件上载和移动,返回空白页

Php 文件上载和移动,返回空白页,php,Php,这件事可能太简单了,我看不出来。执行文件上载和重命名,然后将其发送到确认页面。文件上传和重命名工作完美。但是当脚本完成时,我得到一个空白页面,它不会重定向到mypage.php。我怀疑最后一个IF语句。有人看到我错过了什么吗 <?php require "db_conn.php"; $ID=$_POST['ID']; if ($_FILES['wimage']['error'] > 0) { echo 'Problem: '; switch ($_FILES['

这件事可能太简单了,我看不出来。执行文件上载和重命名,然后将其发送到确认页面。文件上传和重命名工作完美。但是当脚本完成时,我得到一个空白页面,它不会重定向到mypage.php。我怀疑最后一个IF语句。有人看到我错过了什么吗

<?php
require "db_conn.php";
$ID=$_POST['ID'];

if ($_FILES['wimage']['error'] > 0)
  {
    echo 'Problem: ';
    switch ($_FILES['wimage']['error'])
    {
      case 1:  echo 'File exceeded upload_max_filesize';  break;
      case 2:  echo 'File exceeded max_file_size';  break;
      case 3:  echo 'File only partially uploaded';  break;
      case 4:  echo 'No file uploaded';  break;
    }
    exit;
  }

  // put the file where we'd like it
  $upfile = $SCIMAGEPATHLISTINGS.'/'.$_POST['ID'].'.jpg';

  if (is_uploaded_file($_FILES['wimage']['tmp_name']))
  {
     if (!move_uploaded_file($_FILES['wimage']['tmp_name'], $upfile))
     {
        echo 'Problem: Could not move file to destination directory';
        exit;
     }
  }
  else
  {
    echo 'Problem: Possible file upload attack. Filename: ';
    echo $_FILES['wimage']['name'];
    exit;
  }

  if (move_uploaded_file($_FILES['wimage']['tmp_name'], $upfile))
{
 header ("Location: mypage.php?ok=add&Address=$ID");
}
?>
请参见

记住,必须在调用任何实际输出之前调用header() 通过普通HTML标记、文件中的空行或PHP发送。 使用include或require读取代码是非常常见的错误, 函数或其他文件访问函数,并具有空格或空 在调用header()之前输出的行。同样的问题 使用单个PHP/HTML文件时存在


在您的情况下,在
header()
之前有输出,这可能会产生错误,并且您的错误报告可能已关闭,从而提供空页找到解决方案。去掉了原来的else语句,并用我的头代码替换了它。现在,它就像我需要的那样工作,没有错误。谢谢大家的帮助

  if (is_uploaded_file($_FILES['wimage']['tmp_name']))
{
     if (!move_uploaded_file($_FILES['wimage']['tmp_name'], $upfile))
     {
        echo 'Problem: Could not move file to destination directory';
     //   exit;
  }
  else 
  {
 echo header ("Location: mypage.php?ok=add&Address=$ID");
  }
}

如果通过
var\u dump
s here and there或
error\u reporting
在服务器上启用调试,会发生什么情况?您自己尝试过解决这个问题吗?好的,那么如何让代码转到mypage.php?header方法是我使用过的唯一方法。首先注释那些
exit
s,它们可能是脚本在执行上次注释退出之前终止的原因。行为没有改变。如果是标题问题,那么这个答案肯定会帮助你。这是我改成的,相同的非结果。如果(move_upload_file($_FILES['wimage']['tmp_name'],$upfile)){echo“location.href='mypage.php?Address=$ID';”;}
echo头(“location:mypage.php?ok=add&Address=$ID”)这永远不会起作用。它将在标题之前输出。