每个网站几乎都有文件上传的功能,文件上传功能几乎是所有网站所必备的,然而该功能对于服务器来说具有很大的风险,所以,我们对上传文件的大小和类型来进行限制,可以通过获取
上传文件的后缀、来限制上传文件的类型。
获取上传文件的后缀
获取上传文件的后缀可以通过strrev()函数对上传文件的名称进行反转输出,并通过explode()函数以"."为分隔符,对文件名称进行分割,让后再次应用strrev()函数对数组中的第一个元素值进行返回输出,所获取到的就是上传文件的后缀。
strrev()函数是对PHP中的字符串进行逆序输出,语法如下:
strrev(string)
参数string是指定需要反转的字符串
explode() 函数把字符串打散为数组,具体的可以查看我们的字符串专题
示例
前段上传文件代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <meta name="keywords" content=" keywords" /> <meta name="description" content="description" /> </head> <body> <form method="post" action="" enctype="multipart/form-data"> <input type="file" name="upfile" size="20" /> <input type="submit" name="submit" value="上传" /> </form> </body> </html>
代码运行结果如下:
后端代码
创建PHP脚本文件,当点击“上传”按钮时,首先,利用POST接收文本框中的信息。其次,利用反转函数将文本框信息数据进行反转,并利用字符串拆分函数,以“.”进行分割。然后,将分割结果保存在数组之中。最后,将指定数据再次反转取得并输出上传文件的后缀名称,代码如下:
<?PHP if(isset($_POST['submit'])) { $string = strrev($_FILES['upfile']['name']); $array = explode('.',$string); echo $array[0]; } ?>
利用strrev()函数检索字符串相对麻烦,可以使用正则表达式函数preg_match()来完成该功能。
【相关文章推荐】
Atas ialah kandungan terperinci 如何获取上传文件的后缀?php strrev()函数用法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!