使用例:
upload.php
include_once "upload.class.php";
if ($Submit != '')
{
$fileArr['file'] = $file;
$fileArr[ 'name'] = $file_name;
$fileArr['size'] = $file_size;
$fileArr['type'] = $file_type;
/**アップロードできるファイルの種類*/
$filetypes = array('gif' ,'jpg','jpge','png');
/**ファイルアップロードディレクトリ*/
$savepath = "/usr/htdocs/upload/";
/**上限なし 0 上限なし*/
$maxsize = 0;
/**上書き 0 は許可されません 1 は許可されます*/
$overwrite = 0;
$upload = 新しいアップロード($fileArr, $file_name, $savepath, $filetypes, $overwrite, $maxsize);
if (!$upload- >run())
{
echo "上传失败".$upload->errmsg();
}
}
?>
ファイルのアップロード < ;/body>
クラスをアップロード
upload.class.php
//
// +---------------- - ------------------------------------------------- - ---+
// | ファイルのアップロード whxbb(whxbb@21cn.com) -------------------------------------- ------------------------- ------------------+
//
// $Id: Upload.class.php,v 1.0 2001/10/14 14:06:57 whxbb Exp $
// u $ Upload_class_error = Array (1 = & gt; 'フォーマット ファイル',
2 = & gt; 'ディレクトリに書き込めません'、
3 = & gt; 'ファイルが大きすぎます'
$fileArr['size' ] = $file_size;
$fileArr['type'] = $file_type;
// アップロードできるファイルの種類
$filetypes = array( 'gif','jpg','jpge','png');
// ファイルアップロードディレクトリ
$savepath = "/usr/htdocs/upload/";
// 上限なし 0 制限なし
$maxsize = 0;
// 上書き 0 不可 1 可
$overwrite = 0;
$upload = new Upload($fileArr, $file_name, $savepath, $filetypes, $overwrite, $maxsize);
if (!$upload- >run())
{
echo $upload->errmsg() ;
}
*
* @author whxbb(whxbb@21cn.com)
* @version 0.1
*/
クラスアップロード
{
var $file;
var $file_name;
var $file_size;
var $file_type;
/ **名前を保存する*/
var $savename;
/**ルートを保存する*/
var $savepath;
/**ファイル形式の制限*/
var $fileformat = array();
/**オーバーレイモード*/
var $overwrite = 0;
/**ファイルの最大バイト数*/
var $maxsize = 0;
/**ファイル拡張子*/
var $ext;
/**エラーコード*/
var $errno;
/**関数* コンストラクター
* @Param $ Filearr ファイル情報配列 'file' 一時ファイルの配置場所とファイル名
'name' アップロードファイル名
'size' アップロードファイルサイズ
'type' アップロードファイルタイプ
* @param savenameファイルファイルの保存名
* @param SavePathファイル保存パス
*/
function Upload($fileArr, $savename, $savepath, $fileformat, $overwrite = 0, $maxsize = 0) {
$this->file = $ fileArr['file'];
$this->file_name = $fileArr['name'];
$this->file_size = $fileArr['size'];
$this->file_type = $fileArr[ 'type'];
$this->get_ext();
$this->set_savepath($savepath);
$this->set_fileformat($fileformat);
$this->set_overwrite($overwrite) );
$this->set_savename($savename);
$this->set_maxsize($maxsize);
}
/**アップロード*/
function run()
{
/**ファイル形式を確認する*/
if (!$this->validate_format())
{
$this->errno = 1;
return false;
/* *ディレクトリが書き込み可能かどうかを確認する*/
if(!@is_writable ($this->savepath))
{
$this->errno = 2;
return false;
/**上書きが許可されていない場合は、ファイルが既に存在するかどうかを確認してください*/
if($ this->上書き == 0 && @ file_exists($this->savepath.$this->savename))
{
$this->errno = 3;
return false;
}
/**サイズ制限がある場合は、ファイルが制限を超えていないか確認してください*/
if ($this->maxsize != 0 )
{
if ($this->file_size > $this->maxsize)
{
$this-> errno = 5;
return false;
}
}
/**ファイルのアップロード*/
if(!@copy($this->file, $this->savepath.$this-&g t;保存名))
{
$this->errno = 4;
return false;
/**一時ファイルを削除する*/
$this->destory();
return true;
}
/**
* ファイル形式チェック
* @access protected
*/
function validate_format()
{
if (!is_array($this->fileformat)) // 没有格式制限
return true;
$ext =
リセット($this->fileformat);
while(list($var, $key) = each($this->fileformat))
{
if (strto lower($key) == $ext)
trueを返す;
}
reset($this->fileformat);
return false;
}
/**
* ファイル拡張子を取得します
* public にアクセスします
*/
function get_ext()
{
$ext =explode(".", $this-> ;file_name);
$ext = $ext[count($ext) - 1];
$this->ext = $ext;
}
/**
* アップロードされるファイルの最大バイト数制限を設定します
* @param $maxsize ファイルサイズ (バイト) 0: 制限なしを意味します
* @access public
*/
関数 set_maxsize($maxsize)
{
$this->maxsize = $maxsize;
}
/**
* カバレッジモードを設定します
* @param カバレッジモード 1: カバレッジを許可 0: カバレッジを無効にする
* @access public
*/
function set_overwrite($overwrite)
{
$this->overwrite = $overwrite;
}
/* **/
function set_fileformat($fileformat)
{
$this->fileformat = $fileformat;
}
/**&#&* /
関数set_savepath($ savepath)
{
);
$ name = date( 'ymdhis') + $ rnd;
$ name = $ avename = $ name; /***/
function del($file)
{
if(!@unlink($file))
{
$this->errno = 3;
return false ;
return true
/ **
* ファイルの保存名を設定します
* @savename 保存名、空の場合、システムはランダムなファイル名を自動的に生成します
* @access public
*/N 関数 errmsg () {
Global $ Upload_class_error;
if ($ this- & gt; Errno == 0) Ss_error [$ this- & gt; errno]; }
?>
http://www.bkjia.com/PHPjc/314183.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/314183.html
技術記事
使用例:upload.php ?php include_once "upload.class.php"; if ($Submit != '') { $fileArr['name'] = $file_name; fileArr['size'] = $file_size...