ホームページ > php教程 > php手册 > phpアップロードクラス(家庭用)

phpアップロードクラス(家庭用)

WBOY
リリース: 2016-06-21 08:59:37
オリジナル
859 人が閲覧しました

/**
* ファイル アップロード ロード クラス
* @version 1.0.0 (Thu Aug 18 01:32:39 CST 2005)
* @author sanshi
 */
class upLoad
{
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:00:18 CST 2005
* @param string $info ファイル内容
* @param string $fileName生成されたファイル名
* @return boolean 正常に作成された場合は true を返します
* @deprecated
* HTML ファイルを作成します
*/
function createHtml( $info ,$fileName )
{
}
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:03:09 CST 2005
* @return void
* @deprecated
* コンストラクター
*/
function downLoad()
{}
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:03:55 CST 2005
* @param string $fileField
* @ の形式のフィールド名param string $length 長さ制限あり
* @return boolean 正常に true を返す<​​🎜> * @deprecated
* 関数実装 function
*/
function init($fileField,$length ='')
{
$files = $_FILES[$fileField];
//ユーザー名を変更する必要があります。実際の状況に応じて変更してください
$userName = 'sanshi' ;
$fileName = $files['name'];
$fileType = $files['type'];
$fileTemp = $files['tmp_name'];
$fileSize = 空( $length ) ? ($files['size']+10) : $length;
$fileError= $files['error'];//おそらくこの部分には php4 に
がありません //変更されましたto
/ /if( $this->_isType( $fileName ) || $this->_isBig( $length ) )
if( !$this->_isType( $fileName ) || $ this->_isBig ( $length ) || $fileError != 0 )
{
//print_r ($files);
return false;
}else{
$path = $this-> _createDir( $userName );// パスを取得します
$createFileName = $userName . "_" . time();// 現在のファイル名を設定します
$createFileType = $this-> ;getFileType($fileName); // ファイル カテゴリを設定します
return @move_uploaded_file($fileTemp,$path.$createFileName.'.'.$createFileType) ? true : false;
}
}

/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:07:43 CST 2005
* @param int $length アップロード制限サイズ
* @return boolean Return超過した場合は true
* @deprecated
* 所定のサイズを超えているかどうかを判断します
*/
function _isBig($length)
{
$bigest = '';
return $big > true : false;
}
/ **
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:08:55 CST 2005
* @param string $fileName ファイル名
* @return string $fileTypeファイル接尾辞
* @deprecated
* ファイル接尾辞を取得します (ファイルの最後の接尾辞のみを取得します)
*/
function getFileType($fileName)
{
return end(explode('.',$fileName));
}
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:10:41 CST 2005
* @param string $fileName ファイル名
* @param boolean $method複数のサフィックスをチェックするかどうか、デフォルトは false
* @param int $postFix デフォルトのサフィックス数は 2 です
* @return boolean 存在する場合は true を返します
* @deprecated
* チェックファイルのサフィックスがカテゴリ配列にあるかどうか、カテゴリ配列を自分で設定します
* $method が true に設定されている場合、ファイルにサフィックスがいくつあるかを確認します
*/
function _isType($fileName,$method='false',$postFix=2)
{
//カテゴリ配列を設定します
$type = array ('jpeg',
'gif',
'bmp',
'exe');
$fileName = strto lower( $fileName );
$fileTypeArray =explode( '.' ,$fileName );
$fileType = end( $fileTypeArray );
//ファイルに複数のサフィックスがあるかどうかを判断します
if($method)
{
   if( count( $fileTypeArray ) > (is_int($postFix) ? $postFix : 2) )
{
return false;
}
}
return in_array($fileType,$ type);
}

/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:17:19 CST 2005
* @param string $userName
* @return string $path
* @deprecated
* 作成ディレクトリの形式は年/月/日/ユーザー名/
* 権限は 755
*/
function _createDir($userName)
{
$root = '';
$pathSign = DIRECTORY_SEPARATOR ;
$y = date('Y').$pathSign;
$m = date('m').$pathSign;
$d = date('d').$pathSign;
$path = $root 。 $y 。 $m 。 $d 。 $userName;
$dirArray =explode( $pathSign,$path);
$tempDir='';
foreach ( $dirArray as $dir)
{
$tempDir.= $ dir.$pathSign;
$isFile = file_exists( $tempDir );
clearstatcache();
if( ! $isFile && !is_dir( $tempDir ) )
{
@mkdir( $tempDir,0755);
}
}
$path を返します。 $pathSign;
}
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:19:32 CST 2005
* @param string $dirName ディレクトリ名
* @return boolean operated Return true
* @deprecated
* 操作がアップロード ディレクトリにあるかどうかを判断します
*/
function _isDel($dirName)
{
//注意upLoadDir, 必ず与真正使用目录相对应
$upLoadDir = '';
$upLoadDir = preg_replace('/\//','/',$upLoadDir);
$format = "/^{$upLoadDir}/";
return preg_match ( $format,$dirName );
}
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:25:58 CST 2005
* @param string $fileName ファイル名
* @return boolean ファイルを削除正常に true を返します
* @deprecated
* ファイルを削除します
*/
function delFile( $fileName )
{
$cur_dir = dirname(trim($fileName)) ;
if( $this->_isDel( $cur_dir ) )
{
return @unlink( $fileName ) ? true : false;
}else{
return false;
}
}
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:27:43 CST 2005
* @param string $dieName ディレクトリ名
* @return boolean 削除に成功しましたtrue を返す * @deprecated
* ディレクトリの削除 ディレクトリ内にファイルがある場合は削除できません
*/
function delDir( $dirName )
{
if( $this->_isDel($dirName) && is_dir( $dirName ) )
{
return @rmdir( $dirName ) ? true : false;
}else{
return false;
}
}

}
?>
//使用
/*
include 'upLoad.class.php';
$up = new upLoad();
if($up->init("file"))
{
echo 'success';
}else{
echo 'failure';
}
*/
?>



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート