ホームページ  >  記事  >  php教程  >  ディレクトリクラス

ディレクトリクラス

WBOY
WBOYオリジナル
2016-06-21 09:12:001818ブラウズ

//ディレクトリ操作基本クラス
class FileDirectory {
var $servermode;
var $serverpath; //現在のページディレクトリ
var $path;ファイルに関する情報を保存します
function FileDirectory() {
set_time_limit(0); // Web ページの実行時間を設定します。制限なしで 0 に設定します
$this->serverpath = $GLOBALS[DOCUMENT_ROOT]."/ ";
$ this->path = $this->pagepath = dirname(eregi_replace("//","/",$GLOBALS[SCRIPT_FILENAME]))."/";
if(eregi("Win32" ,getenv(" SERVER_SOFTWARE")))
$this->servermode = "WIN32";
}
function first_dir() {
return dirname(eregi_replace("//","/",$GLOBALS[SCRIPT_FILENAME]) );
}
//ファイル情報を取得する
function file_info($filename) {
$ar[name] = $filename;
$ar[type] = filetype($filename);
$ar[read] = is_readable( $filename);
$ar[write] = is_writeable($filename);
$ar[exec] = is_executable($filename);
$ar[time] = date("Y-m-d H:i:s",filemtime( $filename)) ;
$ar[size] = filesize($filename);
$ar[style] = ($ar[type]=="dir"?"d":"-")
.($ar [read]? "r":"-")
.($ar[write]? "w":"-")
.($ar[exec]? "x": "-"); ar;
}

function format_path($path){
$tar = split("/",$path);
$sar = Split("/",$this->path);
$t = count ($tar);
$s = count($sar);
if($tar[$t-1] == "") $t--;
if($sar[$s-1] == " ") $s-- ;
$j = 0;
while($tar[$j] == "..") {
$j++;
$s--;
}
$p = "";
for($i=0 ;$i<$s;$i++)
.正常に返された場合、$this->path はディレクトリのフルパスです
関数name=".") {
$old = $ this->path;
if($this->servermode = = "WIN32")
$path = str_replace("\","/",$pathname);
else
$path = $pathname;
$ this-&gt; format_path($ path);
return $ar;
}
} //FileDirectory 定義終了

?>

//ディレクトリダイアログボックス
class OpenFileDialog extends FileDirectory {
var $filter = array("*.*") ;
関数 Execute($path,$statpath) {
    if($path != "") {
chdir($statpath);
$this->gt;path = $statpath;
$ar = $this->array_dir($path);
}else
$ar = $this->array_dir(".");
array_multisort($ar);
echo "








";
echo "当前経路 ".$this->path."< ;br>n";
echo "path."">n";

echo " n";
echo "

< /td>


";
}
} //OpenFileDialog
?>

//测试

$dir = new OpenFileDialog ();
echo "服务器类型 ".$dir->servermode."
";
echo "服务器経路径 ".$dir->serverpath."
";
echo "当前页経路 ".$dir->pagepath."
";
echo "現在の経路 ".$dir->path."
";
$dir->Execute($dirlist,$統計パス);
?>



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