首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用Zend框架实现Uploadify

用Zend框架实现Uploadify
EN

Stack Overflow用户
提问于 2010-09-30 23:47:45
回答 3查看 4.2K关注 0票数 3

好吧,

我读过,也尝试过很多关于如何用Zend Framework实现上传的东西,我可能忽略了一些东西,但是我完全被困住了。看来我的行动没有被召唤。

所有上传都放在公用文件夹中的一个目录中。

upload按钮在Fancybox实例中调用,并通过fancybox的内联概念从同一页面(admin/images/index)上的隐藏div加载。

所有jquery的功能都很好,上传工作也很好,每个文件都完成了。但是文件并没有被移到文件夹中。在用uploadify.php脚本进行测试时,一切都很好。

控制台中没有错误。

在本地主机上进行了Chrome 6.0.4和Firefox 6.3.6的测试,并通过上传2.1进行了测试

这是我的jquery init代码:(我使用加载器来使用jquery脚本)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Removed to keep post readable

我使用了不同的东西来调用文件,但它们都没有起作用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   Removed to keep post readable

这是我的管理员/图片/上传的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    Removed to keep post readable

这是我的引导程序中针对cookie问题使用的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    Removed to keep post readable

有什么线索吗?我完全迷路了..。

====================================编辑========================================

问题仍然是,我无法到达控制器的行动。为了更容易的测试,我改变了一些东西。当前代码如下:大小写'jpg':$validExtension =真;中断;大小写'jpeg':$validExtension =真;例'png':$validExtension = true;case;我不明白为什么不调用这个动作。

另一个编辑:

当前脚本:

$validExtension =真;$validExtension =真;例'png':$validExtension = true;断开;

创建上传资源时,uploadify.js会在HTTP错误中返回

我尝试了几个在上传论坛上找到的会话解决方案,但是这并没有什么区别.

另一个编辑

我做了更多的工作,并为上传添加了资源

$this->acl->add(新Zend_Acl_Resource('upload'));

提供html输出,它来自not登录/ no角色脚本,指向已知的会话问题。我将尝试几种解决方案,如果脚本有效,我将返回。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-14 06:16:41

好吧,我把整件事都修好了。我发现上传必须作为资源添加。闪存会话问题是用一个可以找到这里的插件修复的。

注意:目前只测试本地主机

脚本的外观如下:

The index.phtml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script type="text/javascript">// <![CDATA[
$(document).ready(function() {
    $('#uploaderImages').uploadify({
        'uploader'      : '../../uploadify/uploadify.swf',
        'script'        : '<?php echo $this->baseUrl().'/admin/images/upload'; ?>',
        'cancelImg'     : '../../uploadify/cancel.png',
        'scriptAccess'  : 'always',
        'queueID'       : 'fileQueue',
        'folder'        : '../../uploads/images/original/',
        'multi'         : true,
        'auto'          : true,
    });
});
// ]]></script>

imageController:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public function uploadAction()
    {
        $tempFile = $_FILES['Filedata']['tmp_name'];
        $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
        $targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
        move_uploaded_file($tempFile,$targetFile);
    }

并在ACL中添加资源:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$this->acl->add(new Zend_Acl_Resource('upload'));

如果我遇到更多的问题,或者如果有人这样做,请让我现在,我会更新这个问题/回答与所需的补充信息。

在Firefox 3.6和Chrome 6.0中进行测试

编辑

以上解决方案可在活动服务器上使用,但仅适用于windows。在所有来自mac的浏览器中,数据都不会被发布。我发现了如下所写的修补程序:http://slavi.biz/blog/using-uploadify-with-zend-framework-2009-08-30.html可以在windows和mac上正常工作。

票数 3
EN

Stack Overflow用户

发布于 2010-10-08 16:18:04

据我所发现,我遇到了一些类似的问题,因为swf和upload.php文件不在同一个目录中,目录权限被关闭。

票数 0
EN

Stack Overflow用户

发布于 2010-10-09 22:19:30

我看不出你在哪里禁用视图渲染器。也许这就是问题所在。

如果您已经有了一个名为“上传”或“索引”的视图(基于您的编辑),那么您有布局吗?上传只需要一个字符串作为输出。

因此,您必须在您的操作中添加以下行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);

如果这不起作用,我建议您在一个没有zend框架的独立页面上进行测试,这样您就可以确切地知道发生了什么。

另外,通过浏览器访问该页面,并告诉我们它是否没有错误(图像/索引或上载)。

最后,我还建议您使用firebug并分析请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3837318

复制
相关文章
验证规则
(adsbygoogle = window.adsbygoogle || []).push({});
双面人
2019/06/24
1.4K0
验证规则
用jquery实现表单验证_jquery验证插件
功能强大的 jQuery 表单验证插件,适用于日常的 E-mail、电话号码、网址等验证及 Ajax 验证,除自身拥有丰富的验证规则外,还可以添加自定义的验证规则。
全栈程序员站长
2022/11/09
4.3K0
使用关键字作为字段名称
在Oracle 中只能用双引号"包围关键字。但由于Oracle中双引号内的字符串是区分大小写的,而不管创建表还是查询时,Oracle都会把字段名转成全部大写,所以,除非创建表时双引号内的字段名就是全大写的,否则以后查询时SQL语句都必须加双引号,若不加则Oracle内部会把字段名转成全大写从而提示“无效的标识符”。同理,查询普通字段也可以通过加双引号查询得出,但双引号内的字段名必须是全大写,例如SELECT "ANY_FIELD_NAME" FROM TableName 在SQL Server 中可以用方括号[]或双引号"包围关键字。字段名任何情况下都不区分大小写。 在MySQL 中用`(backticks)把表和列名名字围起来。字段名也不区分大小写。 在Hibernate 中必须在定义映射关系时用backticks(`)包围字段名,具体参考这里 或这里 。
用户2657851
2020/03/04
1.6K0
变量命名规则
本文记录编程常用的几种命名规范及其应用场景。 大驼峰命名法(CamelCase) 又称 **帕斯卡 (Pascal Case)**命名法 所有单词首字母大写,直接连接排列 类名通常使用 大驼峰命名法 示例: ServiceDiscovery、ServiceInstance、LruCacheFactory 小驼峰命名法(lowerCamelCase) 首单词首字母小写,之后的单词首字母大写,单词直接连接 通常函数方法名、参数名、成员变量、局部变量需要使用小驼峰命名法 示例: getU
为为为什么
2022/12/17
1.3K0
变量命名规则
jQuery默认校验规则
(1)required:true 必输字段 (2)remote:"check.php" 使用ajax方法调用check.php验证输入值 (3)email:true 必须输入正确格式的电子邮件 (4)url:true 必须输入正确格式的网址 (5)date:true 必须输入正确格式的日期 日期校验ie6出错,慎用 (6)dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性 (7)number:true 必须输入合法的数字(负数,小数) (8)digits:true 必须输入整数 (9)creditcard: 必须输入合法的信用卡号 (10)equalTo:"#field" 输入值必须和#field相同 (11)accept: 输入拥有合法后缀名的字符串(上传文件的后缀) (12)maxlength:5 输入长度最多是5的字符串(汉字算一个字符) (13)minlength:10 输入长度最小是10的字符串(汉字算一个字符) (14)rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符) (15)range:[5,10] 输入值必须介于 5 和 10 之间 (16)max:5 输入值不能大于5 (17)min:10 输入值不能小于10
西门呀在吹雪
2020/11/09
6440
jquery 表单验证
("form :input.required").each(function(){
用户5760343
2019/10/10
3.6K0
jquery 表单验证
jQuery登录验证
[#ftl] [#include "/_inc/inc.ftl"] <html> <head> [#include "/_inc/meta.ftl"] [#include "/_inc/link.ftl"] [#include "/_inc/css.ftl"] <link rel="stylesheet" href="${ctxPath}/resources/assets/css/login.css"> <!-- HTML5 Shim and Respond.js I
week
2018/08/27
2K0
简述python变量的命名规则_Python 变量命名规则
2.变量名只能是:数字,字母组成,不可以是空格或特殊字符,如:(#?。,¥$*~!&)等
全栈程序员站长
2022/09/06
1.7K0
JQuery扩展插件Validate—2通过参数设置验证规则
在前面示例中使用的的方法简单方便,但没有完全将js与页面结构完全分离,也就是说js依赖了class,下面通过validate()方法的参数设置验证规则将js与页面结构完全分离,代码如下:
张果
2022/05/09
4900
JQuery扩展插件Validate—2通过参数设置验证规则
python3变量命名规则_python 变量命名规则
a,python的标识符区分大小写,如变量number与变量Number表示不同的变量…
全栈程序员站长
2022/06/28
1.1K0
buffalo-验证规则
使用了validate进行验证后会调用validator验证器,无论validataAndCreate还是 validateAndUpdate 都会调用这两个方法后继续调用validate方法,如果使用了validateAndSave方法则会判断id是否存在,如果存在则调用validateAndUpdate,不存在则调用validateAndCreate
caoayu
2020/09/23
5350
Java 变量命名规则[通俗易懂]
变量命名只能使用:字母 数字 _ 变量第一个字符只能使用:字母 _ 变量第一个字符不能使用:数字 注:_ 是下划线,不是-减号或者—— 破折号
全栈程序员站长
2022/11/16
3.3K0
Java 变量命名规则[通俗易懂]
jquery校验规则的使用
<!--[endif]--> 默认校验规则 (1)required:true 必输字段 (2)remote:"check.php" 使用ajax方法调用check.php验证输入值 (3)email:true 必须输入正确格式的电子邮件 (4)url:true 必须输入正确格式的网址 (5)date:true 必须输入正确格式的日期 (6)d
西门呀在吹雪
2020/11/09
5K0
Python变量命名规则
注意:应使用小写的Python变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个不错的注意。
全栈程序员站长
2022/07/01
9000
JQuery 学习—JQuery Validation表单验证范例[通俗易懂]
jQuery Validato表单验证插件,它是基于jQuery类库,实现了js脚本于页面html代码的分离。你可以划分多个校验组,每个组的校验都是互不影响。对一个表单对象,你只需要写一行代码就可以轻松实现无数种(理论上)脚本控制。
全栈程序员站长
2022/07/19
1.8K0
jquery validate验证方法
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/107823.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/20
9110
MySQL保留字作为字段名使用的注意事项
在进行数据库表字段的设计时,写了一个字段desc,通过mybaitsplus进行保存时报错,一直提示语法错误。仔细检查了一下没有发现什么语法问题。可是依然还是报错 最后发现desc这个字段是mysql的关键字
在水一方
2022/09/08
1.3K0
MySQL保留字作为字段名使用的注意事项
jquery validation engine ajax验证,jQuery Validation Engine 表单验证「建议收藏」
可以依赖多项,如:validate[condRequired[id1,id2]][Demo]
全栈程序员站长
2022/11/09
1.5K0
python语言变量命名规则有什么_Python变量命名规则(超级详细)
Python 需要使用标识符给变量命名,其实标识符就是用于给程序中变量、类、方法命名的符号(简单来说,标识符就是合法的名字)。
全栈程序员站长
2022/08/18
8600
点击加载更多

相似问题

链接到Drupal中的文件

10

如何在本地安装Drupal

50

如何阻止匿名用户的内部Drupal路径?

40

如何使用web服务连接到drupal 7?

10

如何提高本地主机的Drupal开发速度

70
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文