1

現在、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

4

3 に答える 3

3

あなたの条件は&&、ではなく、である必要があります||

if ($newfilename != ".." && $newfilename != "."  && $newfilename != "")  {
    // file name is not '..', '.' or ''
}
于 2012-10-11T12:45:49.983 に答える
0

短い:

if(!in_array($newfilename,["..",".",""]))  {

短くて絶対に汚い

!in_array($newfilename,["..",".",""]) && !echo $newfilename."</br>" &&  var_dump($newfilename);

(echo は値を返さないため、null を無効にして true を返し、var_dump を実行します)

于 2014-10-23T13:54:40.613 に答える
0

試す

if(($newfilename != "..") && ($newfilename != ".") && ($newfilename != ""))  {
    // 
}
于 2012-10-11T12:57:38.350 に答える