我目前正在使用 ftp_rawlist 输出每个文件和文件夹,包括远程站点根目录中的子文件夹。数组中文件的输出包括权限、用户等
例如从var_Dump
string(68) "-rw-r--r-- 1 XXXX XXXX 1754 Sep 13 12:13 run.js"
我在 foreach 循环中运行文件和文件夹数组,我抓住最后一个出现的空格来使用 strrchr 函数隔离文件和文件夹名称。然后我修剪空格,最后使用 if 语句
<?php
if($newfilename != ".." || $newfilename != "." $newfilename != "") {
echo $newfilename."</br>";
var_dump($newfilename);
}
?>
我希望它输出数组中不包含".."或"的文件和文件夹。"但它仍然输出。请帮忙吗?
array(".", "..", "name.txt")
只是输出
名称.txt
而不是
., .., 姓名.txt
你的条件应该是&&
,而不是||
:
if ($newfilename != ".." && $newfilename != "." && $newfilename != "") {
// file name is not '..', '.' or ''
}
尝试
if(($newfilename != "..") && ($newfilename != ".") && ($newfilename != "")) {
//
}
更短:
if(!in_array($newfilename,["..",".",""])) {
更短且绝对肮脏
!in_array($newfilename,["..",".",""]) && !echo $newfilename."</br>" && var_dump($newfilename);
(echo 不返回任何值,因此 neggate null 为真,因此执行 var_dump)