ホームページ >バックエンド開発 >PHPチュートリアル >指定されたディレクトリで指定されたファイルを検索するための PHP 実装_PHP チュートリアル
<font color="#000000"><font face="NSimsun"><font color="#0000bb"><?php<BR></FONT><FONT color=#007700>class </FONT><FONT color=#0000bb>document</FONT></FONT><FONT face=NSimsun><FONT color=#007700>{ <BR></FONT><FONT color=#0000bb>private $file_array</FONT></FONT><FONT face=NSimsun><FONT color=#007700>=array(); <BR></FONT><FONT color=#0000bb>private $folder_array</FONT></FONT><FONT face=NSimsun><FONT color=#007700>=array(); <BR></FONT><FONT color=#0000bb>private $all_array</FONT></FONT><FONT face=NSimsun><FONT color=#007700>=array(); <BR>関数 </FONT><FONT color=#0000bb>search</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb>$path</FONT><FONT color=#007700>,</FONT><FONT color=#0000bb>$file</FONT></FONT><FONT face=NSimsun><FONT color=#007700>){ <BR> if(</FONT><FONT color=#0000bb>is_dir</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb>$path</FONT>) </FONT><FONT face=NSimsun><FONT color=#007700>)){ <BR> </FONT><FONT color=#0000bb>$H </FONT><FONT color=#007700>=</FONT><FONT color=#0000bb>opendir</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb>$path</FONT></FONT><FONT face=NSimsun><FONT color=#007700>); <BR> while(</FONT><FONT color=#0000bb>false</FONT><FONT color=#007700>!==(</FONT><FONT color=#0000bb>$_file</FONT><FONT color=#007700>=</FONT><FONT color=#0000bb>readdir</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb>$H</FONT></FONT><FONT face=NSimsun><FONT color=#007700>))){ <BR> if( </FONT><FONT color=#0000bb>is_dir</FONT><FONT color=#007700>(</FONT><FONT color=#0000bb>$path </FONT><FONT color=#007700>.</FONT><FONT color=#dd0000>"/"</FONT><FONT color=#007700>.</FONT><FONT color=#0000bb>$_file</FONT><FONT color=#007700>)&&</FONT><FONT color=#0000bb>$_file</FONT><FONT color=#007700>!=</FONT><FONT color=#dd0000>"." </FONT>「..」<FONT color=#007700> </FONT>&& <FONT color=#0000bb></FONT>$_file<FONT color=#007700></FONT>!==<FONT color=#dd0000></FONT>"Thumbs.db"<FONT color=#007700></FONT><FONT color=#0000bb></FONT>){ <FONT color=#007700> if(</FONT><FONT color=#dd0000>エレギ</FONT></FONT>(<FONT face=NSimsun><FONT color=#007700>$file<BR></FONT>,<FONT color=#0000bb>) </FONT>$パス<FONT color=#007700></FONT>.<FONT color=#0000bb></FONT>" /"<FONT color=#007700></FONT>.<FONT color=#0000bb></FONT>$_file<FONT color=#007700></FONT><FONT color=#dd0000></FONT>)){ <FONT color=#007700></FONT>$パス<FONT color=#0000bb></FONT>.</FONT><FONT face=NSimsun>"/" <FONT color=#007700><BR>.</FONT><FONT color=#0000bb>$_file</FONT><FONT color=#007700></FONT><FONT color=#0000bb>); </FONT> } <FONT color=#007700> </FONT><FONT color=#0000bb>$this</FONT><FONT color=#007700>-></font><font color="#0000bb">search</font><font color="#007700">(</font><font color="#dd0000">$path</font><font color="#007700">.</font><font color="#0000bb">"/"</font></font>.<font face="NSimsun"><font color="#007700">$_file <br><br>、</font><font color="#0000bb">$ファイル</font><font color="#007700"></font><font color="#0000bb">); </font> }elseif(</font><font color="#0000bb">is_file</font><font color="#007700">(</font><font color="#0000bb">$path</font><font color="#007700">.</font><font color="#dd0000">"/"</font><font color="#007700">.</font><font color="#0000bb">$_file</font><font color="#007700">)&&</font><font color="#0000bb">$_file</font><font color="#007700">!=</font><font color="#dd0000">"." </font> <font color="#007700">&& </font><font color="#0000bb">$ _file</font><font color="#007700">!=</font><font color="#dd0000">".." </font><font color="#007700">&& </font><font color="#0000bb">$_file</font><font color="#007700">!==</font><font color="#dd0000">"Thumbs.db"</font></font><font face="NSimsun"><font color="#007700">){ <br> if(</font><font color="#0000bb">エレギ</font> <font color="#007700">(</font><font color="#0000bb">$ファイル</font> <font color="#007700">,</font><font color="#0000bb">$_file</font></font><font face="NSimsun"><font color="#007700">)){ <br> </font><font color="#0000bb">array_push</font><font color="#007700">(</font><font color="#0000bb">$this</font><font color="#007700">-></font><font color="#0000bb">file_array</font><font color="#007700">,</font> <font color="#0000bb">$パス</font><font color="#007700">.</font><font color="#dd0000">"/"</font><font color="#007700">. </font><font color="#0000bb">$_file</font></font><font face="NSimsun"><font color="#007700">); <br> } <br> } <br> } <br> </font><font color="#0000bb">$this</font><font color="#007700">-></font><font color="#0000bb">all_array</font><font color="#007700">[</font><font color="#dd0000">「フォルダー」</font><font color="#007700"> ]=</font><font color="#0000bb">$this</font><font color="#007700">-></font><font color="#0000bb">folder_array</font></font><font face="NSimsun"><font color="#007700">; <br> </font><font color="#0000bb">$this</font><font color="#007700">-></font><font color="#0000bb">all_array</font><font color="#007700">[</font><font color="#dd0000">"file"</font><font color="#007700">]=</font><font color="#0000bb">$this</font><font color="#007700">-></font><font color="#0000bb">file_array</font></font> <font face="NSimsun"><font color="#007700">; <br> return </font><font color="#0000bb">$this</font><font color="#007700">-></font><font color="#0000bb">all_array</font></font><font face="NSimsun"><font color="#007700">; <br> </font><font color="#0000bb">closedir</font><font color="#007700">(</font><font color="#0000bb">$H</font></font><font face="NSimsun"><font color="#007700">); <br> }elseif(</font><font color="#0000bb">is_file</font><font color="#007700">(</font><font color="#0000bb">$path</font></font><font face="NSimsun"><font color="#007700">)){ <br> if(</font><font color="#0000bb">エレギ</font><font color="#007700">(</font><font color="#0000bb">$file</font><font color="#007700">,</font>) <font color="#0000bb">$パス</font></font><font face="NSimsun"><font color="#007700">)){ <br> </font> <font color="#0000bb">$this</font><font color="#007700">-></font><font color="#0000bb">all_array</font><font color="#007700">[</font><font color="#dd0000">"ファイル"</font><font color="#007700">]=</font><font color="#0000bb">$path</font></font><font face="NSimsun"><font color="#007700">; <br> } <br> return </font><font color="#0000bb">$this</font><font color="#007700">-></font><font color="#0000bb">all_array</font></font><font face="NSimsun"><font color="#007700">; <br> }else{ <br> return </font><font color="#0000bb">$this</font><font color="#007700">-></font><font color="#0000bb">error</font><font color="#007700">(</font><font color="#dd0000">「このフォルダーは存在しません。確認してください。」</font></font><font face="NSimsun"><font color="#007700">); <br> } <br>} <br>}<br></font><font color="#0000bb">?></font> </font>