>  기사  >  백엔드 개발  >  PHP页面用JS调取子窗口传值后,子窗口无法正常上传文件了

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

WBOY
WBOY원래의
2016-06-23 14:13:51958검색

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

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.