現在の位置: ホーム> 最新記事一覧> FTP_NLIST関数を使用してFTPサーバーのファイルリストを簡単に取得するにはどうすればよいですか?

FTP_NLIST関数を使用してFTPサーバーのファイルリストを簡単に取得するにはどうすればよいですか?

M66 2025-07-10

PHPでは、 FTP_NLISTは非常に便利な機能であり、FTPサーバーで指定されたディレクトリのファイルとディレクトリリストを簡単に取得するのに役立ちます。 FTPサーバーのファイルコンテンツを確認するために使用でき、ファイルのダウンロード、削除、アップロードなど、ファイル操作を実行するのに便利です。今日は、この機能の使用方法を掘り下げ、簡単な例を表示して、すぐに開始するのに役立ちます。

FTP_NLIST関数の紹介

FTP_NLIST関数は、FTPサーバーの指定されたディレクトリでファイルとディレクトリの名前を取得するために使用されます。この関数は、ファイル名を含む配列を返します。現在のディレクトリにファイルまたはディレクトリがリストされ、サブディレクトリのコンテンツをリストしないことに注意してください。

関数プロトタイプ:

 <span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-title function_ invoke__">ftp_nlist</span></span><span> ( resource </span><span><span class="hljs-variable">$ftp_stream</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$directory</span></span><span> )
</span></span>
  • $ ftp_stream :通常、 ftp_connectまたはftp_loginを介して取得されるFTP接続のリソース。

  • $ディレクトリ:ファイルリストを取得するためのディレクトリ。これは相対パスまたは絶対パスである可能性があります。

返品値:

この関数は、FTPサーバー上の指定されたディレクトリ内のすべてのファイルとディレクトリ名を含む配列を返します。エラーが発生した場合、 falseを返します。

FTP_NLISTを使用してファイルリストを取得する手順

1. FTPサーバーに接続します

まず、FTPサーバーへの接続を確立する必要があります。 FTP_Connect関数を使用してFTPサーバーに接続し、 FTP_LOGINを使用して認証します。

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$ftp_server</span></span><span> = </span><span><span class="hljs-string">"ftp.example.com"</span></span><span>;
</span><span><span class="hljs-variable">$ftp_username</span></span><span> = </span><span><span class="hljs-string">"your_username"</span></span><span>;
</span><span><span class="hljs-variable">$ftp_password</span></span><span> = </span><span><span class="hljs-string">"your_password"</span></span><span>;

</span><span><span class="hljs-comment">// に接続しますFTPサーバ</span></span><span>
</span><span><span class="hljs-variable">$ftp_conn</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ftp_connect</span></span><span>(</span><span><span class="hljs-variable">$ftp_server</span></span><span>) </span><span><span class="hljs-keyword">or</span></span><span> </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"无法に接続しますFTPサーバ"</span></span><span>);

</span><span><span class="hljs-comment">// ログイン</span></span><span>
</span><span><span class="hljs-variable">$login</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ftp_login</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-variable">$ftp_username</span></span><span>, </span><span><span class="hljs-variable">$ftp_password</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$login</span></span><span>) {
    </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"ログイン失败!"</span></span><span>);
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

2。ファイルリストを取得します

FTP_NLIST関数を使用して、指定されたディレクトリのファイルとディレクトリリストを取得します。

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$directory</span></span><span> = </span><span><span class="hljs-string">"/path/to/directory"</span></span><span>; </span><span><span class="hljs-comment">// リストする必要があるファイルのディレクトリ</span></span><span>

</span><span><span class="hljs-comment">// ファイルリストを取得します</span></span><span>
</span><span><span class="hljs-variable">$file_list</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ftp_nlist</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>, </span><span><span class="hljs-variable">$directory</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$file_list</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"无法ファイルリストを取得します"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ファイルリスト:\n"</span></span><span>;
    </span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$file_list</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span>) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
    }
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

上記のコードでは、 ftp_nlistが配列を返し、配列内の各要素はそのディレクトリの下のファイルまたはディレクトリ名です。 foreachを使用してこの配列をループして、各ファイルまたはディレクトリの名前を出力できます。

3. FTP接続を閉じます

操作が完了したら、FTP接続を閉じることを忘れないでください。

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 閉鎖FTP接続する</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ftp_close</span></span><span>(</span><span><span class="hljs-variable">$ftp_conn</span></span><span>);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

よくある質問と予防策

  • パスの問題FTP_NLISTによって返されるファイルリストは、指定されたパスに対して関連しています。相対パスを通過している場合は、提供するパスが正しいことを確認してください。絶対パスを通過する場合は、サーバー側のファイル構造が提供するパスと一致することを確認してください。

  • ファイルの非表示:一部のFTPサーバーでは、非表示ファイル(ドットから始まるファイルがリストされていない場合があります。非表示ファイルを含むFTP_RAWLISTを使用して、より多くのファイル情報を取得できます。

  • 文字エンコード:FTPサーバーのファイル名に非ASCII文字(中国語など)が含まれている場合、表示する前にファイル名をエンコードして変換する必要があります。

まとめ

FTP_NLIST関数は、開発者がFTPサーバー上のファイルとディレクトリのリストを取得するのに役立つシンプルで効率的なツールです。接続を確立することで、 FTP_NLISTを呼び出してファイルリストを取得し、結果をトラバースして出力し、FTPサーバーでファイルを簡単に管理および操作できます。

この記事を通して、この機能を使用する方法をすばやく習得し、必要に応じてプロジェクトに柔軟に適用できます。この記事があなたを助けることを願っています!