两个php文件,其中一个提交上传文件的表单:index.php:
<form method="post" action="upload.php" enctype="multipart/form-data" target="up_frm">
<input type="file" name="upload" id="upload" style="font-family:arial;width:271px;height:20px">
<input type="submit"  id="submit">
</form>
另一个是upload.php:$filename="NULL";
if ($_FILES["upload"]["error"] > 0){
$filename="Error: ".$_FILES["upload"]["error"];
}else{
if(is_uploaded_file($_FILES["upload"]["tmp_name"])){
$arrname=explode(".",strval($_FILES["upload"]["name"]));
$filename=array_pop($arrname);
$filename=array_pop($arrname).".".$filename;
move_uploaded_file($_FILES["upload"]["tmp_name"],"./temp/upload/".$filename);
echo "<script language=\"JavaScript\" type=\"text/JavaScript\"> var filename='".$filename."';document.cookie="filename"+'='+filename+";";alert(filename);</script>";
}else{
$filename='FLASE';
}
}
现在的问题是,我要在index.php里处理这个文本文件(打开并读出其中内容)。那么,如何将upload.php里的filename传递给index.php呢?请达人指教,十分感谢!

解决方案 »

  1.   

    header('Location: index.php?filename='.$filename);
      

  2.   

    用这个:
    print_r($_FILES['file']);
      

  3.   

    正确,或者存在$_SESSION中然后跳转页面,跳转依然是header方式
      

  4.   


    index.php里有ajax,处理另一部分数据的。
      

  5.   

    你不说你有ajax,你直接echo $filename就可以了嘛
      

  6.   

    你用ajax做上传,上传完以后返回名字就可以了
      

  7.   


    我开始的index.php是这样的:<?php
    $filename="NULL";
    if ($_FILES["upload"]["error"] > 0){
    $filename="Error: ".$_FILES["upload"]["error"];
    }else{
    if(is_uploaded_file($_FILES["upload"]["tmp_name"])){
    $arrname=explode(".",strval($_FILES["upload"]["name"]));
    $filename=array_pop($arrname);
    $filename=array_pop($arrname).".".$filename;
    move_uploaded_file($_FILES["upload"]["tmp_name"],"./temp/upload/".$filename);
    }else{
            $filename='FALSE';
    }
    echo "<script language=\"JavaScript\" type=\"text/JavaScript\"> var filename='".$filename."';alert(filename);</script>";
    }
    ?><form method="post" action="" enctype="multipart/form-data" target="up_frm">
    <input type="submit" value="Compare" class="btn"/>
    <br><b>Or upload file:<br></b>
    <input type="file" name="upload" id="upload" style="font-family:arial;width:271px;height:20px">
    </form><iframe name=up_frm style="display:none">
    </iframe><script type="text/javascript">
    alert(filename);
    </script>
    在php里的那段js的alert确实是filename。
    可是最下面的filename始终是NULL。谢谢指教!
      

  8.   


    我把index.php改成<body>
    <?php
    $filename=$_GET['filename'];
    echo $filename;
    ?>
    <form method="post" action="upload.php" enctype="multipart/form-data" target="up_frm">
    <br><b>Or upload file:<br></b>
    <input type="file" name="upload" id="upload" style="font-family:arial;width:271px;height:20px">
    <input type="submit" value="Compare"/>
    </form><iframe name=up_frm style="display:none">
    </iframe></body>
    </html>把upload.php改成:<?php
    header('Location: index.php?filename='.$filename);
    $filename="NULL";
    if ($_FILES["upload"]["error"] > 0){
    $filename="Error: ".$_FILES["upload"]["error"];
    }else{
    if(is_uploaded_file($_FILES["upload"]["tmp_name"])){
    $arrname=explode(".",strval($_FILES["upload"]["name"]));
    $filename=array_pop($arrname);
    $filename=array_pop($arrname).".".$filename;
    move_uploaded_file($_FILES["upload"]["tmp_name"],"./temp/upload/".$filename);
    }else{
    $filename='FLASE';
    }
    }
    ?>
    弱弱的问,是这样吗?
      

  9.   

    header('Location: index.php?filename='.$filename);
    在最后
      

  10.   


    我放到最后了。可是index那个页面还是没有输出filename。