iframe上传图片返回地址

我打算把图片上传成功后拼凑一个img标签,然后把标签写到父级页面的id为photo内容中去。

这是父级页面:

<span id="photo"></span>

php上传成功后的代码:

           if(move_uploaded_file($tmp, $path.$dir.$image_name)){
                $src = "<img src='{$path}{$dir}{$image_name}'>";
                //$src = 1;
                echo "<script>parent.document.getElementById('photo').innerHTML = \"$src\";</script>";
            }else{
                echo <<<EOT
            <script>alert('上传失败');history.go(-1)</script>
EOT;
            }
            exit;

浏览器报错如下:Uncaught SyntaxError: Unexpected token ILLEGAL
图片描述

阅读 2.8k
3 个回答

非常不建议把php代码与js代码柔和在一起啊,很难理解。而且容易出错。分离分离分离。

没怎么用过php,看看是不是字符串连接的方式错了?php好像是用.来连接吧?

路径中的 \ 要转义

建议楼主学会拆分问题,你所说的问题可以拆分成两个单例:
1- iframe中执行js向父窗口传递信息
2- 图片上传处理
这样你能更准确的发现到底哪里出了问题。
对于1来说,可以这样测试

//a.html
<span id="s1"></span><iframe src="b.html"></iframe>
//b.html
<script>top.document.getElementById('s1').innerHTML = 'Test';</script>

对于2也是一样,不需要调用js,上传成功后直接echo '<img src="'.$src.'" />';

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题