大佬教程收集整理的这篇文章主要介绍了使用array_slice删除scandir点和点点条目是否安全?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的PHP脚本中使用带有scandir的array_slice.
正常用法:
<?PHP
$files = scandir('/path/to/files');
foreach($files as $filE) {
if($file != '.' && $file != '..') {
// Do something here...
}
}
我的例子:
<?PHP
$files = array_slice(scandir('/path/to/files'), 2);
foreach($files as $filE) {
// Do something here...
}
我的疑问是,使用这种类型的逻辑是否安全?
解决方法:
绝对不安全.下面的示例创建一个目录,其中包含名为!的文件.当scandir对结果进行排序时,!出现在之前.和..:
@H_467_6@mkdir('test'); touch('test/!'); print_r(scandir('test')); unlink('test/!'); rmdir('test');
输出:
Array
(
[0] => !
[1] => .
[2] => ..
)
通常,对于所有以.之前的字符开头的文件名,这都是一个问题.其中包括一些不可打印的字符,这些字符在现实世界的数据中可能不存在,但它也适用于常见的标点符号,包括! #$%& ()-.
即使它起作用了,我也不推荐这样做,因为使用array_slice会使代码的意图变得不清楚.
以上是大佬教程为你收集整理的使用array_slice删除scandir点和点点条目是否安全?全部内容,希望文章能够帮你解决使用array_slice删除scandir点和点点条目是否安全?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。