3. scandir -- ファイルをリストします。指定されたパスとディレクトリ (非常に便利) は、ディレクトリ内のファイルとディレクトリを含む配列を返します。
デフォルトの並べ替え順序はアルファベット昇順です。オプションのパラメータsorting_orderが使用される(1に設定される)場合、並べ替え順序はアルファベットの降順になります。
PHP は、Web サーバーを実行しているユーザー名 (通常は「nobody」) でのみファイルにアクセスできる場合があることに注意してください。セーフ モードの制限にはカウントされません。
ファイルが存在し、書き込み可能であれば TRUE を返します。 filename パラメータには、書き込み可能性のチェックを可能にするディレクトリ名を指定できます。
PHP は、Web サーバーを実行しているユーザー名 (通常は「nobody」) でのみファイルにアクセスできる場合があることに注意してください。セーフ モードの制限にはカウントされません
============== ========================PHP ファイル操作クラス====================== == ===================
/*************************************************** * **************************************
ファイル名:File.cls.php
ファイル紹介: clsFile クラス定義、ファイル操作のカプセル化
バージョン: 2.0 最終更新日: 2011-8-23
*************************** *********************************************** **** **********/
!define('INIT_PHPV') && die('直接スクリプトアクセスは許可されません');
class clsFile
{
private $fileName_str;ファイル
private $fileOpenMethod_str; //ファイルを開くモード
function __construct($fileName_str='',$fileOpenMethod_str='readOnly')//パス、デフォルトは空のモードです
{
/ /Constructor 関数、データメンバーの初期化を完了します
$this->fileName_str=$fileName_str;
}
function __destruct()
{
//Destructor
}
public function __get($ valName_val)//取得するデータメンバーの名前
{
//指定された名前のデータメンバーの値を取得する特別な関数
return $this->$valName_val
}
private function; on_error($errMsg_str='不明なエラー!' ,$errNo_int=0)//エラーメッセージ、エラーコード
{
echo 'プログラムエラー:'.$errMsg_str.'エラーコード:'.$errNo_int;//エラー処理関数
}
public function open()
{
//対応するファイルを開き、ファイルリソース識別を返す
//fileOpenMethod_str に従って開く方法を選択する
switch($this->fileOpenMethod_str)
{
case 'readOnly' :
$openMethod_str='r'; //読み取り専用、ポインタはファイルヘッダを指します
break;
case 'readWrite':
$openMethod_str='r+'; //読み取りおよび書き込み、ポインタはファイルヘッダを指しますfile header
break;
case 'writeAndInit':
$openMethod_str='w'; //書き込みのみ、ポインターはファイル ヘッダーを指し、ファイル ヘッダーが存在しない場合は作成します。
case 'readWriteAndInit':
$openMethod_str='r+'; //読み取りと書き込み、ポインターはファイル ヘッダーを指し、ファイルが存在しない場合は作成されます。
case 'writeAndAdd':
$openMethod_str='a'; //書き込みのみ、ポインタはファイルの末尾を指し、存在しない場合は
break;
case 'readWriteAndAdd':
$openMethod_str=' a+'; //読み取りと書き込み、ポインターはファイルの末尾を指します。ファイルが存在しない場合は作成します
default:
$this->on_error('Open メソッド エラー!',310) ;//エラー処理
exit;
// ファイルを開きます
if(!$fp_res=fopen($this->fileName_str,$openMethod_str))
{
$this->on_error('Can'tファイルを開きます!',301);//エラー処理
exit;
}
return $fp_res;
}
public function close($fp_res)//open によって返されたリソース ID
{
// 開いたファイルを閉じます
if(!fclose($fp_res))
{
$this->on_error('ファイルを閉じることができません!',302);//エラー処理
exit;
}
}
public function write()/ /$fp_res,$data_str,$length_int: ファイルリソース ID、書き込み文字列、長さ制御
{
//文字列 string_str をファイル fp_res に書き込み、書き込み長さを制御 length_int
//パラメータの数を判断、関連関数を呼び出す
$ argNum_int=func_num_args();/ /パラメータの数
$fp_res=func_get_arg(0); //ファイルリソースの識別
$data_str=func_get_arg(1); //書かれた文字列
if($argNum_int==3)
{ $length_int=func_get_arg (2); //長さ制御
if(!fwrite($fp_res,$data_str,$length_int))
{
$this->on_error('ファイルを書き込めません!',303) ;//エラー処理
exit
}
}
else
{
if(!fwrite($fp_res,$data_str))
{
$this->on_error('ファイルを書き込めません!',303 );// エラー処理
exit;
}
}
}
public function read_line()//$fp_res,$length_int: ファイルリソース識別子、読み取り長
{
//ファイル fp_res から文字列を 1 行読み取ります。長さを制御できます
//パラメータの数を決定します
$argNum_int=func_num_args();
if($argNum_int==2)
{
$length_int=func_get_arg(1);
if($string_str=! fgets($fp_res,$length_int))
{
$this->on_error('ファイルを読み取れません!',304);//エラー処理
終了}
return; $string_str;
}
else
{
if(!$string_str=fgets($fp_res))
{
$this->on_error('ファイルを読み取れません!',304);//エラー処理
exit;
}
return $ string_str;
}
}
public function read($fp_res,$length_int)//ファイルリソース識別、長さ制御
{
//ファイル fp_res を読み込み、最長は length_int です
if(!$ string_str=fread($fp_res ,$length_int))
{
$this->on_error('ファイルを読み取れません!',305);//エラー処理
終了
return $string_str;
public function is_exists($ fileName_str)//ファイル名
{
//ファイル $fileName_str が存在するかどうかを確認し、存在する場合は true を返し、存在しない場合は false を返します
return file_exists($fileName_str)
}
/* *****************ファイルサイズの取得*************************/
/*
ファイルのサイズを取得します fileName_str
$fileName_str はファイルのパスと名前です
ファイル サイズの値を返します
*/
public function get_file_size($fileName_str)//File名前
{
ファイルサイズを返す($fileName_str);
/*******************変換ファイルサイズの表記方法*************************/
/*
$fileSize_int ファイルのサイズ (バイト単位)
変換されたファイル サイズを測定単位で返します
*/
public functionchange_size_express($fileSize_int)//ファイル名
{
if ($fileSize_int>1024)
{
$fileSizeNew_int=$fileSize_int/1024;//K に変換
$unit_str='KB';
if($fileSizeNew_int>1024)
{
$fileSizeNew_int=$fileSizeNew_int/ 1024 ;/ /M に変換
$unit_str='MB';
}
$fileSizeNew_arr=explode('.',$fileSizeNew_int);
$fileSizeNew_str=$fileSizeNew_arr[0].'.'.substr($fileSizeNew_arr[1 ], 0,2).$unit_str;
}
return $fileSizeNew_str;
/******************ファイルの名前を変更*************************/
/*
oldname_str で指定されたファイルの名前を newname_str に変更します
$oldName_str はファイルの元の名前です
$ newName_str はファイルの新しい名前です
エラーメッセージを返します
*/
public function rename_file($oldName_str,$newName_str)
{
if(!rename($oldName_str,$newName_str))
{
$this->on_error ( 'ファイル名を変更できません!',308);
exit
}
}
/******************ファイルの削除*********************/
/*
filename_str で指定されたファイルを削除します
$fileName_str削除される可能性があります
Return エラーメッセージ
*/
public function delete_file($fileName_str)//
{
if(!unlink($fileName_str))
{
$this->on_error('ファイルを削除できません!', 309);/ /エラー処理
exit;
}
}
/*******************ファイルの拡張子を取得**************************/
/*
filename_str で指定されたファイルの拡張子を取得します
$fileName_str はファイル パスとタイプの名前を受け取ります
Returnファイルの拡張子
* /
public function get_file_type($fileName_str)
{
$fileNamePart_arr=explode('.',$fileName_str);
while(list(,$fileType_str)=each($fileNamePart_arr))
{
$type_str=$fileType_str;
}
return $type_str;
}
/*******************ファイルが指定されたファイル タイプであるかどうかを確認します*************************/
/*
$fileType_str で指定されたファイルの種類
$fileName_str 取得されるファイルのパスと名前
false または true を返します
*/
public function is_the_type ($ FILENAME_STR, $ Filetype_arr) {
$ Cheakfiletype_Str = $ This- & GT;
{
return false;
else {{
return true;
}
}
/********************ファイルをアップロードし、アップロードされたファイル情報を返します************************ **/
/*
$fileName_str ローカル ファイル名
$filePath $filePath が str の場合、アップロードされるファイルのパス。新規 ファイル名に -1、2、3.. を追加します。
$allowType_arr はアップロードできるファイルの種類です。制限はありません。
$maxSize_int 許可されるファイルの最大値。空白のままにすると、制限はありません。
戻り値は、新しいファイル情報の 2 次元配列です。
*/
public function Upload_file($) fileName_str,$filePath,$allowType_arr='',$maxSize_int='')
{
$fileName_arr=$_FILES[$fileName_str][' name'] // ファイルの名前
$fileTempName_arr=$_FILES[$] fileName_str]['tmp_name']; //ファイルのキャッシュファイル
$fileSize_arr=$_FILES[$fileName_str]['size'];//ファイルサイズを取得
$reFileInfo_arr=array(); ($fileName_arr)-1;
for($i=0;$i{
if($fileName_arr[$i ]!='')
{
if($allowType_arr!= '' および !$this->is_the_type($fileName_arr[$i],$allowType_arr))//許可されたファイル タイプであるかどうかを判断します
{
$ this->on_error('ファイルは許可されたタイプではありません! ',310);//エラー処理
break;
}
if($maxSize_int!='' and $fileSize_arr[$i]>$maxSize_int)
{
$this->on_error('ファイルが多すぎますbig!',311);//エラー処理
break;
$j=$i+1;
$fileType_str=$this->get_file_type( $fileName_arr[$i]);// ファイル タイプを取得します
if(!is_array($filePath))
{
$fileNewName_str=$filePath.'-'.($j).'.'.$fileType_str;
}
else
{
$fileNewName_str=$filePath_arr[$i] ].'.'.$fileType_str;
}
copy($fileTempName_arr[$i],$fileNewName_str);//ファイルをアップロード
unlink($fileTempName_arr[$i ]);//キャッシュされたファイルを削除
//-- -------------ストレージファイル情報---------------/ /
$doFile_arr=explode( '/',$fileNewName_str);
$doFile_num_int=count($doFile_arr)-1;
$reFileInfo_arr[$j]['name']=$doFile_arr [$j]['type ']=$fileType_str;
$reFileInfo_arr[$j]['size']=$this->change_size_express($fileSize_arr[$i]);
}
}
$reFileInfo_arr; #&*/
}
お役に立てば幸いです。
http://www.bkjia.com/PHPjc/326690.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/326690.html技術記事以下はPHPのファイル操作機能について個人的にまとめたものです。もちろん、これはほんの一部であり、リストしていないものは他にもたくさんあります。 1. パスを解析します: 1 ファイル名を取得します:basename(); を含むファイルを与えます...