zend framework文件上传功能实例代码

2015-01-24信息快讯网

//实例化上传类
$upload = new Zend_File_Transfer();
//设置过滤器,大小限制为5M,格式为jpg,gif,png
$upload->addValidator('Size', false, 5 * 1024 * 1024);
$upload->addValidator('Extension', false, 'jpg,gif,png');
if (!$upload->isValid()) {
    print '文件大小或格式不符合';
    exit();
}

//获取上传的文件表单,可以有多项 $fileInfo = $upload->getFileInfo(); //获取后缀名,这里pic为上传表单file控件的name $ext = $this->getExtension($fileInfo['pic']['name']); //定义生成目录 $dir = './upload' . date('/Y/m/d/'); //文件重新命名 do { $filename = date('His') . rand(100000, 999999) . '.' . $ext; } while (file_exists($dir . $filename));

//如果目录不存在则创建目录 $this->makeDir($dir); //将文件正式写入上传目录 $upload->setDestination($dir); $upload->addFilter('Rename', array('target' => $filename, 'overwrite' => true)); if (!$upload->receive()) { print '上传图片失败'; exit(); }

print $filename;

获取文件扩展名的方法:

/**
 * 获取文件扩展名
 * 
 * @param string $fileName
 * @return string
 */
public function getExtension($fileName) {
    if (!$fileName) {
        return '';
    }
    $exts = explode(".", $fileName);
    $ext = end($exts);
    return $ext;
}

创建目录的方法:

/**
 * 创建目录
 * 
 * @param string $path
 * @return boolean
 */
public function makeDir($path) {
    if (DIRECTORY_SEPARATOR == "\\") {//windows os
        $path = iconv('utf-8', 'gbk', $path);
    }
    if (!$path) {
        return false;
    }
    if (file_exists($path)) {
        return true;
    }
    if (mkdir($path, 0777, true)) {
        return true;
    }
    return false;
}

PHP网页游戏学习之Xnova(ogame)源码解读(六)
PHP网页游戏学习之Xnova(ogame)源码解读(五)
PHP网页游戏学习之Xnova(ogame)源码解读(四)
PHP网页游戏学习之Xnova(ogame)源码解读(三)
PHP网页游戏学习之Xnova(ogame)源码解读(二)
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
浅析application/x-www-form-urlencoded和multipart/form-data的区别
destoon安全设置中需要设置可写权限的目录及文件
destoon整合ucenter后注册页面不跳转的解决方法
destoon整合UCenter图文教程
Yii Framework框架获取分类下面的所有子类方法
php数组合并array_merge()函数使用注意事项
PHP获取文件的MD5值并判断是否被修改的例子
PHP中strlen()和mb_strlen()的区别浅析
ThinkPHP模板引擎之导入资源文件方法详解
php+ajax实现图片文件上传功能实例
php的SimpleXML方法读写XML接口文件实例解析
PHP错误Cannot use object of type stdClass as array in错误的解决办法
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
CI框架中libraries,helpers,hooks文件夹详细说明
输入值/表单提交参数过滤有效防止sql注入的方法
php文字水印和php图片水印实现代码(二种加水印方法)
php calender(日历)二个版本代码示例(解决2038问题)
php jquery 多文件上传简单实例
php读取csv实现csv文件下载功能
解决file_get_contents无法请求https连接的方法
php文件上传的例子及参数详解
Server.HTMLEncode让代码在页面里显示为源代码
php实现文件下载(支持中文文名)
php遍历文件夹所有文件子文件夹函数代码
XAMPP安装与使用方法详细解析
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
php中引用符号(&)的使用详解
PHP PDOStatement:bindParam插入数据错误问题分析
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
php中OR与|| AND与&&的区别总结
zend optimizer在wamp的基础上安装图文教程
PHP关于IE下的iframe跨域导致session丢失问题解决方法
遭遇php的in_array低性能问题
浅析PHP原理之变量分离/引用(Variables Separation)
©2014-2024 dbsqp.com