ホームページ  >  記事  >  バックエンド開発  >  PHP でのディレクトリ操作について

PHP でのディレクトリ操作について

不言
不言オリジナル
2018-06-21 09:36:173975ブラウズ

この記事では、主に PHP のディレクトリ操作を紹介し、ディレクトリの読み取り、トラバース、クローズなどの一般的な操作に関する PHP の関連機能と使用スキルをサンプルの形でまとめ、分析しています。

この記事の例は、PHP ディレクトリの操作方法をまとめたものです。参照用に全員と共有します。詳細は次のとおりです:

ディレクトリ操作

新しいディレクトリ: mkdir (パス、権限、再帰)作成)

ディレクトリの削除: rmdir()

移動 (名前変更): rename()

Getディレクトリの内容

//ディレクトリを開く

ディレクトリ ハンドル = opendir()

//ディレクトリの読み取り

ファイル名 = readdir(ディレクトリhandle)

ファイル名を順番に読み取り、同時にファイル ハンドル ポインタを下に移動します。読み取れない場合は、falseを返します

##//ディレクトリを閉じます

##。 #closedir()

ディレクトリの内容を再帰的に読み取ります:

#

<?php
showDir(&#39;../../file&#39;);
function showDir($path,$dep=0){
 $pos = opendir($path);
 while(false!==$file=readdir($pos)){
  if($file==&#39;.&#39;||$file==&#39;..&#39;) continue;
  echo str_repeat("&nbsp",$dep*4),$file.&#39;</br>&#39;;
  if(is_dir($path.&#39;/&#39;.$file)){
   $func = __FUNCTION__;
   $func($path.&#39;/&#39;.$file,$dep+1);
  }
 }
}

#実行時の効果は次のとおりです:

<?php
$res = showDir(&#39;../../file&#39;);
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($res);
function showDir($path){
 $pos = opendir($path);
 $next = array();
 while(false!==$file=readdir($pos)){
  if($file==&#39;.&#39;||$file==&#39;..&#39;) continue;
  $fileinfo = array();
  $fileinfo[&#39;name&#39;] = $file;
  if(is_dir($path.&#39;/&#39;.$file)){
   $fileinfo[&#39;type&#39;] = &#39;dir&#39;;
   $func = __FUNCTION__;
   $fileinfo[&#39;next&#39;] = $func($path.&#39;/&#39;.$file);
  }else{
   $fileinfo[&#39;type&#39;] = &#39;file&#39;;
  }
  $next[] = $fileinfo;
 }
 closedir($pos);
 return $next;
}

実行効果図は次のとおりです:

ディレクトリを再帰的に削除します:

<?php
showDir(&#39;../../file/sim&#39;);
function showDir($path,$dep=0){
 $pos = opendir($path);
 while(false!==$file=readdir($pos)){
  if($file==&#39;.&#39;||$file==&#39;..&#39;) continue;
//  echo str_repeat("&nbsp",$dep*4),$file.&#39;</br>&#39;;
  if(is_dir($path.&#39;/&#39;.$file)){
   $func = __FUNCTION__;
   $func($path.&#39;/&#39;.$file,$dep+1);
  }else{
   unlink($path.&#39;/&#39;.$file);
  }
 }
 rmdir($path);
 closedir($pos);
}

ディレクトリ ファイルのエンコーディングの問題:

オペレーティング システムのエンコーディングを変換します#windows を表示するときの応答データのエンコードに gbk の場合、プロジェクト utf-8

iconv(&#39;gbk&#39;,utf-8&#39;,file);

コード アドレスは中国語で存在します。システム エンコーディングに変換

#
iconv(utf-8&#39;,&#39;gbk&#39;,file);

以上がこの記事の全内容です。皆様の学習に役立つことを願っています。その他の関連コンテンツについては、PHP 中国語 Web サイトにご注目ください。

関連する推奨事項:

php_pdo 前処理ステートメントの分析について

PHP のリンク リスト操作について


以上がPHP でのディレクトリ操作についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。