为编辑小MM提供的服务代码。关于图片上传的。

我们在工作中遇到了如下场景:编辑小妹需要发布图文混排的内容,图片有点偏多,一篇内容约有20来张图片,一天要发布200多篇,用编辑器自带的图片上传有点效率不够。
目标:提升上传效率.
方法一. 直接上word 另存为html,再把里面的图片单独上传到指定目录,再把html 代码放到编辑器内,提交后数据适配一下。此方法比较适合word 版内容发布.具体实例,不做详述。

方法二. 用firefox ,编辑器可以支持 截图后粘贴。通常直接用qq截图,提交后 数据为html5 图片,ie下不显示,再折腾折腾转为常规html img 就好了,代码如下。
PHP code ?
1
2
3
4
5
//data 为提交表单数据,数组格式
$data  $_POST [ "data" ];
$data  = filter(  $data  );   //转换data 数据
//  剩下的事件,插入数据库,生成静态贴之类。。。


PHP code ?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//转换处理
function  filter(  $data  )
{
     if ( sizeof( $data  ))
     {
         foreach  ( $data    as  $key  =>  $val ):
             if (preg_match_all( "/<img\s+src=\"data:image\/png;base64,([^\"]+)\"/iU"  $val  , $match ))
             {
                 if (sizeof( $match [1]))
                 {
                     foreach  ( $match [1]  as  $key2  =>  $val2 ):
                         list( $newFilePath $newFileName ) = create_png_name();
                         file_put_contents ( $newFilePath  base64_decode ( $val2 ) );
 
                         $val  str_replace ( "<img src=\"data:image/png;base64,$val2\""  , "<img src = '$newFileName'"  $val  );
                       //  echo $val;
                     endforeach ;
                 }
                 $data [ $key ] =  $val ;
             }
          endforeach ;
     }
     return  $data ;
}
 
function  create_png_name()
{
     $fileName  "/upload/attached/" . date ( "Y-m-d" ). "/" . date ( "ymdhis" ).rand(1000,9999). ".jpg" ;
     $file  $_SERVER [ "DOCUMENT_ROOT" ] .  $fileName  ;
     $dir  pathinfo $file  , PATHINFO_DIRNAME );
     if ( ! is_dir ( $dir   )) {  mkdir $dir    , 0777 , 1);}
      return  array ( $file  $fileName );
}

PS: 最近公事私事,事事烦心,越来越没精力专注的做开发了,时间仓促,更多的是表达一种使工作便利的想法,还想各位批评指正。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值