在php中将上传封装成类
来源:互联网 发布:淘宝下载安装2017 编辑:程序博客网 时间:2024/06/08 12:34
在使用上传文件时,将上传的代码封装成类,更容易方便。
190.php
<?php
require('upload.php');
if($_POST['submit']){
$a = new Upload();
$File = $a -> uploadfile($ARG=array(
'File'=>array(
'name' => $_FILES['fileDoc']['name'], //原名字
'tmp_name' => $_FILES['fileDoc']['tmp_name'] //新名字
)));
}
echo $File['oldname'];
?>
<form action="<?echo $PHP_SELF?>" method="post" enctype="multipart/form-data">
<input type="file" name="fileDoc">
<br>
<input type="submit" name="submit" value="上传">
</form>
Upload.php
<?php
/**
* @author gb2312
* @since 2009-11-16
* @desc 文件上传
*/
class Upload{
/**
* @desc 文件上传方法
* @param Array $ARG 上传文件的属性
*/
public function uploadfile($ARG=array(
'File' => array(),
'Dir' => '')){
//默认目录
$dir = "upload/";
//文件原始名称
$oldname = $ARG['File']['name'];
//文件类型
$tmp = explode('.',$oldname);
$filetype = $tmp[1];
//重命名(文件新名称)
$newname = time().".".$filetype;
//上传目录处理
if(!isset($ARG['Dir']) || $ARG['Dir']==''){
$dir .= '';
}
if(file_exists($dir)){
$uploaddir = $dir;
}
else{
$uploaddir = $this->setDir("upload/");
}
//上传
$uploadfile = $uploaddir.$newname;
echo $ARG['File']['tmp_name'];
if(is_uploaded_file($ARG['File']['tmp_name'])){
if(move_uploaded_file($ARG['File']['tmp_name'],$uploadfile)){
echo "上传成功";
}
else{
echo "上传失败";
}
}
//返回数据,便于操作。
$File = array();
$File['oldname'] = $oldname;
$File['newname'] = $newname;
$File['uploadfile'] = $uploadfile;
return $File;
}
/**
* @desc 创建目录
*
* @param String $dir
* @param default $mod
*/
public function setDir($dir,$mod=0777){
//路径格式是否正确,以/结束。
if(substr($dir,-1) !='/'){
$dir .= '/';
}
if(!file_exists($dir)){
$dirs = explode('/',$dir);
$path = $dirs[0];
for($i=0;$i<count($dirs);$i++){
$path .= '/'.$dirs[$i];
try{
if(!is_dir($path)){
if(!mkdir($path,$mod)){
$error = "不能创建上传目录:".$path;
throw new Exception($error);
}
}
}
catch (Exception $e){
echo $e->getMessage();
}
}
if(realpath($path)){
return $path;
}
}
}
}
?>
- 在php中将上传封装成类
- 在php中将上传封装成类
- PHP封装上传类
- PHP封装成类(文件上传)
- php封装图片上传类
- PHP文件上传类封装
- 原生PHP上传封装类
- 在PHP中将数字转换成单词
- 在vs.net2005中将webservice封装成独立的dll
- PHP 原生态图片上传封装类
- php使用upload封装类上传文件
- php封装类 实现图片上传
- PHP 封装自己的图片上传类
- PHP上传文件封装
- springMVC 在controller中将参数封装对象
- 在linux中将php-fpm配置成service
- 在linux中将php-fpm配置成service
- 在SpringMVC中将view的数据封装成Model的方法
- 2010.1.9 奋斗 开始
- php 图片验证码
- 高亮显示关键字
- 高亮显示关键字
- PHP5中的时间相差八小时的解决办法
- 在php中将上传封装成类
- Java中的类型转换
- Update 两个表之间数据更新
- Extjs 一次将formPanel里的所有项目属性设置成只读
- 1:25万地形数据库数据说明
- (转载)VIM vs VS:关公战秦琼
- 听说《阿凡达》很牛
- 不显示win2003关机提示
- Windows7(vista) 重建图标缓存解决图标显示错误的问题