Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
yii2_fecshop
提交
7a69334b
Y
yii2_fecshop
项目概览
OpenDocCN
/
yii2_fecshop
通知
17
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Y
yii2_fecshop
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
7a69334b
编写于
10月 01, 2019
作者:
T
Terry
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
图片文件加入后缀检查
上级
7ebe4cd0
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
31 addition
and
6 deletion
+31
-6
services/Helper.php
services/Helper.php
+1
-1
services/Image.php
services/Image.php
+30
-5
未找到文件。
services/Helper.php
浏览文件 @
7a69334b
...
...
@@ -167,7 +167,7 @@ class Helper extends Service
$targetPathFile
=
$targetPath
.
'/'
.
$file
;
if
(
is_dir
(
$sourcePathFile
)){
$this
->
copyDirImage
(
$sourcePathFile
,
$targetPathFile
);
}
else
if
(
Yii
::
$service
->
image
->
isAllowImgType
(
$sourcePathFile
)){
}
else
if
(
Yii
::
$service
->
image
->
isAllowImgType
(
$sourcePathFile
,
$file
)){
if
(
$isForce
)
{
copy
(
$sourcePathFile
,
$targetPathFile
);
}
else
if
(
!
file_exists
(
$targetPathFile
))
{
...
...
services/Image.php
浏览文件 @
7a69334b
...
...
@@ -52,18 +52,41 @@ class Image extends Service
* @param $file | string, 图片文件路径
* @return boolean, 是否是允许的图片类型
*/
public
function
isAllowImgType
(
$file
)
public
function
isAllowImgType
(
$file
,
$fileName
)
{
$img
=
getimagesize
(
$file
);
$imgType
=
$img
[
'mime'
];
if
(
!
in_array
(
$imgType
,
$this
->
allowImgType
))
{
return
false
;
}
// 文件后缀检查
$fileNameArr
=
explode
(
'.'
,
$fileName
);
$fileSuffix
=
$fileNameArr
[
count
(
$fileNameArr
)
-
1
];
$allowImgSuffix
=
$this
->
getAllowImgSuffix
();
if
(
!
in_array
(
$fileSuffix
,
$allowImgSuffix
))
{
return
false
;
}
return
true
;
}
public
function
getAllowImgSuffix
()
{
$arr
=
[];
if
(
!
is_array
(
$this
->
allowImgType
)
||
empty
(
$this
->
allowImgType
))
{
return
[];
}
foreach
(
$this
->
allowImgType
as
$one
)
{
$oneArr
=
explode
(
'/'
,
$one
);
$arr
[]
=
$oneArr
[
1
];
}
return
$arr
;
}
public
function
init
()
{
...
...
@@ -210,7 +233,10 @@ class Image extends Service
$size
=
$FILE
[
'size'
];
$file
=
$FILE
[
'tmp_name'
];
$name
=
$FILE
[
'name'
];
$name
=
$this
->
generateImgName
(
$name
);
$newName
=
$this
->
generateImgName
(
$name
);
if
(
!
$newName
)
{
throw
new
InvalidValueException
(
'generate img name fail'
);
}
if
(
$size
>
$this
->
getMaxUploadSize
())
{
throw
new
InvalidValueException
(
'upload image is to max than'
.
$this
->
getMaxUploadSize
()
.
' MB'
);
...
...
@@ -218,13 +244,12 @@ class Image extends Service
throw
new
InvalidValueException
(
'file type is empty.'
);
}
elseif
(
$img
=
getimagesize
(
$file
))
{
$imgType
=
$img
[
'mime'
];
if
(
!
in_array
(
$imgType
,
$this
->
allowImgType
))
{
if
(
!
$this
->
isAllowImgType
(
$file
,
$name
))
{
throw
new
InvalidValueException
(
'image type is not allow for '
.
$imgType
);
}
}
// process image name.
$imgSavedRelativePath
=
$this
->
getImgSavedRelativePath
(
$name
);
$imgSavedRelativePath
=
$this
->
getImgSavedRelativePath
(
$n
ewN
ame
);
$isMoved
=
@
move_uploaded_file
(
$file
,
$this
->
GetCurrentBaseImgDir
()
.
$imgSavedRelativePath
);
if
(
$isMoved
)
{
$imgUrl
=
$this
->
getUrlByRelativePath
(
$imgSavedRelativePath
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录