有一个问题,就是复制文件夹时,如果输入目标文件夹为../../../../,输到一定程度不是都跳出file了,但是还是会复制成功,,

来源:2-4 复制文件夹

王小仙

2015-11-06 14:12

有一个问题,就是复制文件夹时,如果输入目标文件夹为../../../../,输到一定程度不是都跳出file了,但是还是会复制成功,,

写回答 关注

3回答

  • qq_海贼_0
    2016-07-07 16:21:23
    已采纳

    那是因为他的那段代码没有对else部分进行判断,而是直接执行整个函数就返回复制成功,这个函数应该像他写的其他函数一样要对多种情况进行判断然后将返回结果写到$mes中,再返回。不过这个小问题大神肯定想到了,只是个疏忽而已。还有其实在判断目录是否存在时是存在的,那是因为确实是超出了file的范围。但是没有超过你的代码所在的盘的目录,即使你写再多的../系统会默认将文件夹放到该盘的一级目录下(我是这么理解的,因为我操作一遍确实是这样),所以确实是复制成功。只能说这个方法对于其他情况都考虑,然后写好返回信息。我是新手,个人观点,对错不知道哦。

    王小仙

    非常感谢!

    2016-07-08 21:27:49

    共 1 条回复 >

  • 慕移动9181930
    2022-03-26 23:30:01
  • 蓬蓬鹏
    2017-06-23 13:49:14

    在路径那里设个判断,因为我们正常操作是不会出现  /../ 来返回,正则匹配出现 ..  就 赋值目录变量为file,这样应该就访问不了file目录之外的目录。

WEB在线文件管理器

通过本课程文件目录函数库的学习,让你掌握文件、目录函数库的应用

36223 学习 · 332 问题

查看课程

相似问题