首页 / PHP / 如何重新定义上传文件名称的实例详解
如何重新定义上传文件名称的实例详解
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何重新定义上传文件名称的实例详解,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3021字,纯文字阅读大概需要5分钟。
内容图文
![如何重新定义上传文件名称的实例详解](/upload/InfoBanner/zyjiaocheng/147/1fc5223c6b574e4aaad90b3dca26fe29.jpg)
首先我们通过strstr()函数对上传文件的名称进行截取,获取上传文件的后缀。
然后通过time()函数获取系统当前时间戳,重新定义上传文件的名称
在利用move_uploaded_file()函数实现文件上传。
在执行文件上传之前,为了防止潜在的攻击,对原本不能通过脚本交互的文件进行非法管理,应利用is_uploaded_file()函数判断指定的文件是否通过HTTP POST上传的,如果是,则返回一个true。
is_uploaded_file()函数
is_uploaded_file()函数 判断指定的文件是否通过HTTP POST上传的,其语法如下:
is_uploaded_file(filename)
参数 filename 必须指定类似于$_FILES['filename']['tmp_name']的变量,不可以使用从客户端上传的文件名$_FILES['filename']['name']
通过is_uploaded_file()函数对上传文件进行判断,可以确保恶意用户无法欺骗脚本去访问不能访问的文件,如/etc/passwd。
move_uploaded_file()函数
move_uploaded_file()函数将文件上传到服务器中指定的位置。如果成功返回true。否则返回false,语法如下
move_uploaded_file(filename,destination)
参数filename指定上传文件的临时文件名,即$_FILES[tmp_name];参数destination指文件上传后保存的新路径和名称。如果参数filename不是合法的上传文件,则不会出现任何操作,
move_uploaded_file() 将返回false;如果参数filename是合法的上传文件,但出于某些原因无法移动,则也不会出现任何的操作,move_uploaded_file()将返回False,此外还会发出一条警告信息。
最后使用rand函数,使用它随机生成的随机整数作为上传文件的新名称。
应用示例
本示例重新定义上传文件的名称,选择要上传文件的名称,单击“上传”按钮,文件将上传到程序中指定的本地路径下的upfile文件夹中,并重新定义文件名称。
本示例的关键代码如下:
<?PHP header("content-type:text/html;charset=utf-8"); if(!empty($_FILES[up_picture][name])){ //判断上传文件是否为空 if($_FILES['up_picture']['error']>0){ //判断文件是否可以上传到服务器 echo "上传错误"; switch($_FILES['up_picture']['error']){ case 1: echo "上传文件大小超出配置文件规定值"; break; case 2: echo "上传文件大小超出表单中约定值"; break; case 3: echo "上传文件不全"; break; case 4: echo "没有上传文件"; break; } }else{ if(!is_dir("./upfile/")){ //判断指定目录是否存在 mkdir("./upfile/"); //创建目录 } $path='./upfile/'.time().strstr($_FILES['up_picture']['name'],'.');//定义文件名称和存储位置 if(is_uploaded_file($_FILES['up_picture']['tmp_name'])){ //判断是否通过HTTP POST上传的 if(!move_uploaded_file($_FILES['up_picture']['tmp_name'],$path)){ //执行上传 echo "上传失败"; }else{ echo "文件".time().$_FILES['up_picture']['name']."上传成功,大小为:".$_FILES['up_picture']['size']; } }else{ echo "上传文件".$_FILES['up_picture']['name']."不合法!"; } } } ?>
定义上传文件的名称在上传文件程序中必是不可少的一个功能,通过他可以避免重名文件被替换,单着可能会导致存在很多相同内容的文件。更多请关注PHP文件处理专题
【相关文章推荐】
PHP文件上传-move_uploaded_file()函数的使用详解
以上就是如何重新定义上传文件名称的实例详解的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的如何重新定义上传文件名称的实例详解全部内容,希望文章能够帮你解决如何重新定义上传文件名称的实例详解所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。