我们在工作中遇到了如下场景:编辑小妹需要发布图文混排的内容,图片有点偏多,一篇内容约有20来张图片,一天要发布200多篇,用编辑器自带的图片上传有点效率不够。
目标:提升上传效率.
方法一. 直接上word 另存为html,再把里面的图片单独上传到指定目录,再把html 代码放到编辑器内,提交后数据适配一下。此方法比较适合word 版内容发布.具体实例,不做详述。
方法二. 用firefox ,编辑器可以支持 截图后粘贴。通常直接用qq截图,提交后 数据为html5 图片,ie下不显示,再折腾折腾转为常规html img 就好了,代码如下。
PS: 最近公事私事,事事烦心,越来越没精力专注的做开发了,时间仓促,更多的是表达一种使工作便利的想法,还想各位批评指正。
目标:提升上传效率.
方法一. 直接上word 另存为html,再把里面的图片单独上传到指定目录,再把html 代码放到编辑器内,提交后数据适配一下。此方法比较适合word 版内容发布.具体实例,不做详述。
方法二. 用firefox ,编辑器可以支持 截图后粘贴。通常直接用qq截图,提交后 数据为html5 图片,ie下不显示,再折腾折腾转为常规html img 就好了,代码如下。
1
2
3
4
5
|
//data 为提交表单数据,数组格式
$data
=
$_POST
[
"data"
];
$data
= filter(
$data
);
//转换data 数据
// 剩下的事件,插入数据库,生成静态贴之类。。。
|
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: 最近公事私事,事事烦心,越来越没精力专注的做开发了,时间仓促,更多的是表达一种使工作便利的想法,还想各位批评指正。