关于 $extension = strtolower ($file->getClientOriginalExtension ()) ? : 'PNG'; 的问题?

 $extension = strtolower($file->getClientOriginalExtension()) ? : 'png';

能不能解释一下getClientOriginalExtension()这个函数的意思? 我百度找不到, ,还有后面的 ?: 'php' 是什么意思
等于号后面这句都看到不太明白

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

\vendor\symfony\http-foundation\File\UploadedFile.php里面的函数

public function getClientOriginalExtension()
    {
        return pathinfo($this->originalName, PATHINFO_EXTENSION);
    }

这函数说白了其实就是返回你的原文件名的后缀名,比如你原来文件叫a.jpg这个函数就返回jpg
至于后面那部分:看下官方解释:

自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

这段代码就是把原文件名的后缀名赋值给extension变量,如果没有后缀直接赋值为png

5年前 评论
讨论数量: 6

\vendor\symfony\http-foundation\File\UploadedFile.php里面的函数

public function getClientOriginalExtension()
    {
        return pathinfo($this->originalName, PATHINFO_EXTENSION);
    }

这函数说白了其实就是返回你的原文件名的后缀名,比如你原来文件叫a.jpg这个函数就返回jpg
至于后面那部分:看下官方解释:

自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

这段代码就是把原文件名的后缀名赋值给extension变量,如果没有后缀直接赋值为png

5年前 评论

\vendor\symfony\http-foundation\File\UploadedFile.php里面的函数

public function getClientOriginalExtension()
    {
        return pathinfo($this->originalName, PATHINFO_EXTENSION);
    }

这函数说白了其实就是返回你的原文件名的后缀名,比如你原来文件叫a.jpg这个函数就返回jpg
至于后面那部分:看下官方解释:

自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

这段代码就是把原文件名的后缀名赋值给extension变量,如果没有后缀直接赋值为png

5年前 评论

@simplewater 诸如此类的函数在哪里找呢?手册里也搜不到这个函数,要用的话完全没有头绪

5年前 评论

@simplewater 同问,这类函数好隐蔽,文档里根本没有

5年前 评论

@dokiss
@阿伦

这些是框架源码的函数,你直接在项目全文搜索就可以找到

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!