首页 > 后端开发 > php教程 > PHP页面用JS调取子窗口传值后,子窗口无法正常上传文件了

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

WBOY
发布: 2016-06-23 14:13:51
原创
969 人浏览过

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中加了个框架,想让这个自动弹出的页面在这个指定框架中弹出,可不熟悉怎样制定。。拜托版主给帮帮忙,,提了几个问题没注意没积分了。。。

    来源:php.cn
    本站声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板