Home  >  Article  >  Backend Development  >  PHP页面用JS调取子窗口传值后,子窗口无法正常上传文件了

PHP页面用JS调取子窗口传值后,子窗口无法正常上传文件了

WBOY
WBOYOriginal
2016-06-23 14:13:51958browse

JavaScript PHP

主页面a.php,点击其中按钮后调取up.php页面,上传图片后自动关闭,并将路径信息返回给a.php上的输入框。单独调测up.php,能够上传文件并自动关闭。但是被a.php调取后,只能获取路径信息、自动关闭。但不能正确上传文件,请给与帮助,谢谢!
a.php代码如下:



<script> <br /> function gg(openwindow, aa, bb) { <br /> var str = window.showModalDialog('up.php', window, "dialogWidth=500px;dialogHeight=70px;center=yes;help=no;resizable=no;status=no"); <br /> if (!str) <br /> return; <br /> document.getElementById(aa).value = str[0]; <br /> document.getElementById(bb).value = str[1]; <br /> } <br /> </script>











     

    up.php代码如下:
    $uptypes=array(
        'image/jpg',
        'image/jpeg',
        'image/png',
        'image/pjpeg',
        'image/gif',
        'image/bmp',
        'image/x-png'
    );

    $max_file_size=2000000;     //上传文件大小限制, 单位BYTE
    $destination_folder="uploadimg/"; //上传文件路径
    ?>


    图片上传




    <script> <br /> function dd(strid, strvalue) { <br /> var str = new Array(strid, strvalue); <br /> window.returnValue = str; <br /> window.close(); <br /> } <br /> </script>

      
      
      
      

      允许上传图片类型*.jpg *.jpeg *.gif *.png


    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {
        if (!is_uploaded_file($_FILES["upfile"]['tmp_name']))
        //是否存在文件
        {
             echo "图片不存在!";
             exit;
        }

        $file = $_FILES["upfile"];
        if($max_file_size      //检查文件大小
        {
            echo "文件太大!";
            exit;
        }

        if(!in_array($file["type"], $uptypes))
        //检查文件类型
        {
            echo "文件类型不符!".$file["type"];
            exit;
        }

        if(!file_exists($destination_folder))
        {
            mkdir($destination_folder);
        }

        $filename=$file["tmp_name"];
        $image_size = getimagesize($filename);
        $pinfo=pathinfo($file["name"]);
        $ftype=$pinfo['extension'];
        $destination = $destination_folder.time().".".$ftype;
        if (file_exists($destination) && $overwrite != true)
        {
            echo "同名文件已经存在了";
            exit;
        }

        if(!move_uploaded_file ($filename, $destination))
        {
            echo "移动文件出错";
            exit;
        }
    }
    ?>


    回复讨论(解决方案)

    问题有俩,一个是调用子页面传值后还自动弹出一个IE窗口,这个窗口是up.php页面,我不想让他弹出,于是在up.php head标签内加上了 代码,可一添上去,就不能上传了。。于是我在a.php中加了个框架,想让这个自动弹出的页面在这个指定框架中弹出,可不熟悉怎样制定。。拜托版主给帮帮忙,,提了几个问题没注意没积分了。。。

    Statement:
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn