thinkphp uploadify ajax上传图片,网上很多有问题,我简单总结一下

服务器环境: Apache/2.4.7 (Win64) PHP/5.5.10

thinkphp 3.2.2


第一步uploadify插件  ,

第二步  html 页面  

1.引用css  ,js 

<script src="__PUBLIC__/plugins/jQuery/jQuery-2.1.4.min.js"></script>
<script src="__PUBLIC__/plugins/uploadify/jquery.uploadify.js"></script>

2.

<tr>
    <td>上传商品APP图片:</td>
    <td>
        <input id="upload_button" type="file" multiple="true" value="" />
            <a target="_blank" <if condition="$goodsInfo['url'] neq null"> href="{$goodsInfo.url}"<else/> href=""</if> id="original_img21">
                <img width="50"  height="50" id ='original_img2' <if condition="$goodsInfo['url'] neq null"> src="{$goodsInfo.url}"<else/> src="/Public/images/nopic.png"</if> >
                <input id="images" name="image" type="hidden" class="form-control" multiple="true"  <if condition="$goodsInfo['image'] neq null"> value="{$goodsInfo.image}"<else/> value=""</if> />
            </a>
    </td>
</tr>
3.JS不好简单功能凑合用,主要是处理图片上传成功返回的data数据然后赋值   这里 注意 ,火狐浏览器 一定加session_id

$('#upload_button').uploadify({
    'swf'      : "__ROOT__/Public/plugins/uploadify/uploadify.swf",
    'uploader' : "{:U('Goods/uploadify',array('session_id'=>session_id()))}",//这个就是处理上传文件的地址
    'buttonText' : '上传商品图片',
    'onUploadSuccess' : function(file, data, response) {
        var dat = data.split(",");
        var id   = dat[0];
        var url  = dat[1];
        $('#original_img1').remove();
        $('#original_img2').attr('src',url);
        $('#original_img21').attr('href',url);
        $('#images').attr('value',id);
        data.trim();//这个是文件在服务器上的路径,如果是图片,可以使用src

    }
});

第三步、php    我这里是上传到七牛云  ,其实都一样   这里  我返回的参数中间用逗号,  JS  处理

//ajax上传图片方法 返回  图片ID  URL
public function uploadify(){
    $log = new File(array('log_path' => LOG_PATH));
    $log->write('————————————————————后台测试————————————————————————');
    ini_set('max_execution_time', '0');
    if ($_FILES) {
        $Picture = D('Admin/Picture');
        $info = $Picture->upload($_FILES, '', 'Qiniu');
        if (!$info) {
           $Picture->getError();
        } else {
            $id = implode(',', array_column($info, 'id'));
            $url = implode(',', array_column($info, 'url'));
            echo trim($id);
            echo ',';
            echo trim($url);

        }
    }
}
   最后 ,php接收表单的时候,直接上传的  

阅读更多
换一批

没有更多推荐了,返回首页