zend framework带有部分条件的文件上传
来源:互联网 发布:射手男 知乎 编辑:程序博客网 时间:2024/06/05 00:38
文件上传在重命名的时候做的不好!
IndexController如下:
public functionuploadAction ()
{
$this->getFrontController()->setParam('noViewRenderer',true);
//实例化文件上专类
$adapter = new Zend_File_Transfer_Adapter_Http();
$fName = $this->_request->getPost('uploadedfile');
//上传文件路径
$dir = "/tmp";
//你存放上传文件的文件夹
$adapter->setDestination($dir);
//设置文件上传类型
$adapter->addValidator('Extension',false,
array('gif','jpeg', 'jpg','doc'));
//设置上传文件大小
$adapter->addValidator('Size',false,
array('min'=> '1kB', 'max'=> '2MB'));
//上传文件数量
$adapter->addValidator('Count',false, 1);
$adapter->addValidator('FilesSize',false,
array('min'=> '1kB', 'max'=> '2MB'));
//重命名配置
$fileInfo = $adapter->getFileInfo();//获取基本配置
$extName = $this->getExtension($fileInfo);//获取扩展名
$uName = $adapter->getFileName();
$filename = $fileInfo['uploadedfile']['name'];//重命名
$a = strrpos(strtolower($filename),".");
$c = rand(1, 10);
if ($fName != null || $fName == "") {
if (file_exists($uName)) {
if ($a) {
$b = substr(strtolower($filename), 0, $a);
$b .= $c;
$name = $b .'.' . $extName;
$adapter->addFilter('Rename',
array('target' => $name, 'overwrite' => true)); //执行重命名
}
}
}
//返回上传后出现的信息
if (! $adapter->receive()) {
$messages = $adapter->getMessages();
// foreach ($messages as $tmp) {
// echo $messages .= $tmp . "<br />";
// }
echo $messages = "文件上传失败!请<a href='" .
$this->view->baseUrl() ."/index/index'>返回</a>";
} else {
//move_uploaded_file($uName, $this->view->baseUrl() . "/temp");
echo $messages = "文件上传成功!请<a href='" .
$this->view->baseUrl() ."/index/index'>返回</a>";
}
}
//获取扩展名
public function getExtension ($name)
{
$fname = '';
if ($name) {
foreach ($name as $val) {
$fname = $val['name'];
}
$exts = @split("[/\\.]", $fname);
$n = count($exts) - 1;
$exts = $exts[$n];
return $exts;
}
}
视图如下:
<formaction="<?phpecho $this->baseUrl();?>/index/upload/"method="post"enctype="multipart/form-data">
<inputtype="hidden"name="MAX_FILE_SIZE"/>
请选择您的上传文件:<inputname="uploadedfile"type="file"/><br/>
<inputtype="submit"value="文件上传"/><br>
</form>
- zend framework带有部分条件的文件上传
- zend framework怎么上传文件
- Zend Framework 2 入门 文件上传
- [代码] - Zend Framework 上传文件重命名,Php程序。
- zend framework教学 入口文件的设定
- zend framework (1.0) 入口文件的编写
- 文件带有进度的异步上传本质
- 带有文件上传的修改页面样式
- bootstrap文件上传的使用,带有进度条
- zend framework 分页 Zend_Paginator 分页搜索条件
- zend framework 的测试
- zend framework的优缺点
- zend framework 插入数据表 部分字段列
- Zend Framework 的单一入口引导文件如何写
- Zend Framework中header下载文件的问题及解决
- springMVC上传文件 带有进度条
- SFTP上传带有中文名称的文件失败,未找到解决方案
- commons-fileupload和dwr实现带有进度条的文件上传
- 『程序员』[Java]java学习方法(转载)---成都传智播客
- Redmine配置Gmail
- dreamweaver正则表达式应用:统一加title
- Java中获取时间的几种方法
- 软件测试职业发展规划(转载)
- zend framework带有部分条件的文件上传
- 二叉树的应用
- HDU 1166 敌兵布阵 线段树
- 为.net里面的RadioButtonList添加选择事件
- Java之nio学习
- HDU 3656 DLX重复覆盖
- xml文件提示下载,IE打不开
- 短信通开发中。。。。。
- 根据属性名字调用相应的get和set方法