上传的 docx 文件转为 zip

2023-12-09

我目前正在使用 symfony 1.4,并希望允许用户上传 Microsoft Word docx 文件。使用下面的 sfWidgetFormInputFile 小部件和 sfValidatorFile,用户可以使用简单的 Web 表单选择并成功上传其 docx 文件。

$this->widgetSchema['file_name'] = new sfWidgetFormInputFile(array('label' => 'File'));

$this->validatorSchema['file_name'] = new sfValidatorFile(array(
  'required'   => true,
  'path'       => sfConfig::get('sf_upload_dir').DIRECTORY_SEPARATOR.sfConfig::get('app_dir_file_sharing').DIRECTORY_SEPARATOR,
  'mime_types' => array('application/msword',
                        'application/vnd.ms-word',
                        'application/msword',
                        'application/msword; charset=binary')
), array(
    'invalid'    => 'Invalid file.',
    'required'   => 'Select a file to upload.',
    'mime_types' => 'The file must be a supported type.'
));

问题在于,文件上传后,扩展名更改为.zip,并且文件包含xml文件的文件树。我的理解是,这是因为 Office 2007 现在使用 Open xml 文件格式。有什么方法可以使用 symfony 或 PHP 来防止这种情况发生吗?


问题是内容嗅探。新的 Office 格式是 .zip 文件,如果在上传时嗅探内容,浏览器会将其识别为 ZIP 文件并设置 Content-Type 标头。同样,下载时除非您的服务器设置正确的 Content-Type HTTP 响应标头,否则浏览器将假定这是一个 ZIP 文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

上传的 docx 文件转为 zip 的相关文章

  • 如何编写一个 SQL 查询来计算每月和每年的行数?

    有谁知道如何查询 vbulletin 数据库来生成每月 每年注册数量的报告 以获得如下结果 MM YYYY Count 01 2001 10 02 2001 12 感谢下面的这些答案 我的最终版本有效如下 SELECT COUNT as R
  • 在 WordPress 中使用 jquery 日期选择器

    我想要在我的 WordPress 模板页面的表单中使用日期选择器 但它不起作用 这是我的子主题functions php的代码 function modify jquery if is admin comment out the next
  • 考虑到我的图像链接存储在MySQL数据库中,如何通过php显示存储在文件夹中的图像

    作为良好的做法 我只将图像链接存储在数据库中 问题是 我应该如何存储图像的链接 假设它在 c 上 c image jpg 我应该使用哪段 PHP 代码来显示该图像 我只显示路径 我该怎么做才能显示图像 我可以用这个吗 query SELEC
  • 如何从循环内的字符串中删除最后一个字符

    我正在尝试在 xml 中的一行中打印所选的不同类别 喜欢
  • 在 php unlink 中使用通配符

    我目前正在制作一个 php 脚本来绘制数据库中的一堆数据 将其排列到文本文件中 然后运行 GNUPlot 脚本来生成图表 我已经完成了所有这些工作 现在我需要做的就是删除我不再需要的文本文件 我一直在尝试的内容是从不同论坛上的另一个帖子中获
  • 如何仅在 PHP 中使用 str_replace() 删除文本一定次数?

    我试图从字符串中删除单词 John 一定次数 我在 php 手册上读到 str replace 除了第四个参数 count 所以我想可以用来指定应该删除多少个搜索实例 但事实似乎并非如此 因为以下情况 string Hello John h
  • 是否存在用于解析 ASN.1 或基于它生成 PHP 代码的 PHP 库?

    我已经审视过自己了 但今天我的 Google fu 似乎并不强 我正在努力开发一种标准化协议 用于通过 TCP IP 连接在 Apache PHP 服务器和微控制器上的嵌入式 C 代码之间交换数据结构 我们使用 ASN 1 表示法 我真正想
  • 如何通过 md5 比较图像?

    该方法是否比较图像的像素值 我猜它不会起作用 因为它们的尺寸彼此不同 但如果它们相同但格式不同怎么办 例如 我截图并保存为 jpg另一个并保存为 gif MD5哈希是实际的二进制数据 因此不同的格式将具有完全不同的二进制数据 因此 要使 M
  • 从 PHP 使用 linux 'dialog' 命令

    我正在尝试编写一个帮助程序脚本 用于在服务器上执行各种管理任务 这些任务只能从命令行完成 并尝试使用 dialog 命令来显示消息框 输入 密码提示等 但是 需要这项任务要求我用 PHP 处理数据 我在让对话框命令以这种方式工作时遇到问题
  • 在 WordPress 中挂钩 AJAX

    我一直在深入研究 Javascript 和 AJAX 的世界 我非常接近 但由于某种原因 我认为我没有正确地连接到 wordpress ajax 函数 我已经仔细阅读了文档和这个 认为 99 都在那里 这个应用程序的作用是有一个项目列表 每
  • 传递表单变量的安全方式

    我正在为我的 WordPress 主题构建联系表单 我希望能够从后端输入接收者地址 目前我正在传递带有隐藏输入字段的变量
  • parse_str():jwage/purl 中不推荐调用不带结果参数的 parse_str()

    public function postIndex url new Url https www dropbox com 1 oauth2 authorize url gt query gt setData response type gt
  • 将延期交货库存状态添加到 Woocommerce 可变产品下拉列表中

    我想在下拉菜单中显示可变产品的库存状态 包括 缺货 因为我网站上的大多数产品都缺货 而不是 缺货 我已经尝试过答案如何将变体库存状态添加到 Woocommerce 产品变体下拉列表中 https stackoverflow com ques
  • Yii:使用与控制器布局不同的布局渲染动作

    在 Yii 中 有没有办法使用不同的方式渲染单个动作layout比为控制器定义的值 我有一个操作希望其格式与其他操作不同 并且文档中不清楚这是否可能 我相信您可以调用该操作 layout多变的 public function actionY
  • 从 array_map 匿名函数内部调用类方法

    我正在尝试从一个对象中调用我的对象的方法之一array map匿名函数 到目前为止 我收到了预期的错误 致命错误 不在对象上下文中时使用 this 我知道为什么我会收到此错误 我只是不知道如何实现我想要的目标 有人有任何建议吗 这是我当前的
  • 下载网址在 Google Drive API PHP 中不起作用

    我在使用 Google Drive API 时遇到问题 我能够使用 API 获取文件 但无法通过此链接下载 我想 必须进行一些身份验证 但我已使用刷新令牌进行身份验证 请参阅下面的代码 this gt load gt library goo
  • PHP:如何使用 nl2br() 和 HTML Purifier 保持换行?

    Issue 使用时HTML 净化器 http htmlpurifier org 为了处理用户输入的内容 换行符不会被转换为 br tags 考虑以下用户输入的内容 Lorem ipsum dolor sit amet This is ano
  • 处理照片上传的最佳方式是什么?

    我正在为一个家庭成员的婚礼制作一个网站 他们要求的一个功能是一个照片部分 所有客人都可以在婚礼结束后前往并上传他们的照片 我说这是一个很棒的想法 然后我就去实现它 那么只有一个问题 物流 上传速度很慢 现代相机拍摄的照片很大 2 5 兆 我
  • Apache HttpClient TCP Keep-Alive(套接字保持活动)

    我的 http 请求需要太多时间才能被服务器处理 大约 5 分钟 由于连接闲置 5 分钟 代理服务器将关闭连接 我正在尝试在 Apache DefaultHttpClient 中使用 TCP Keep Alive 来使连接长时间处于活动状态
  • 谷歌图片搜索API

    我有一个网站 用户可以在其中提交图片 我想用这些图片自动在 Google 上进行搜索 以尽量减少图片被从其他网站盗用的可能性 我知道 Firefox 扩展 但这需要我右键单击每张图片并等待结果出现 我想自动化这个 我一直在寻找 API 但

随机推荐

  • 在 RESTful 应用程序中,我们如何区分“操作”和 HTTP 动词(GET、POST、PUT、DELETE)?

    在 RESTful 应用程序中 我们如何区分 操作 和 HTTP 动词 GET POST PUT DELETE 例如 据我了解 一个GET对资源的请求 products应该返回所有产品的列表 APOST请求 products应该创造一个新产
  • 在帐单地址中显示自定义字段

    我目前正在尝试将自定义字段添加到默认地址字段 名字 姓氏等 应该使用该字段来为客户设置称呼 为此 我使用了以下过滤器 add filter woocommerce default address fields custom woocomme
  • WPF MVVM 如何在视图更改后重新居中应用程序窗口?

    我正在使用本机 WPF 和 MVVM 开发一个非常简单的应用程序 主 shell 视图使用我认为常见的基本模式 其中包含一个与活动视图模型进行数据绑定的 ContentControl 该视图模型通过数据模板注入视图 这是它的缩写版本
  • 获取Azure订阅ID和部署槽(非常快)

    作为我的问题的后续部署状态 我想问一下有没有fast way找到 当前订阅 ID 角色所在的当前部署槽 暂存 生产 我目前正在使用管理 API 它有点慢 但我不想长时间缓存它 因为我无法确定缓存会在插槽交换时失效 在正在运行的实例中 您可以
  • 将 Ajax 响应下载为 zip 文件?

    我正在尝试将多个图像下载为 zip 文件 由于我使用的是 Azure blob 首先我列出了所有 blob 然后使用压缩它Archiver并使用管道函数将其发送到客户端 但我将 zip 作为原始文件获取 但未下载 我正在使用 Node js
  • VBA excel从工作表复制公式并粘贴到多个工作表

    VBA excel 从工作表复制公式并粘贴到工作表数组 例如 我想从工作表 Data C4 CX204 复制数据并粘贴到工作表 Test1 Test50 Test1 Test50 中的工作表将紧邻彼此 我想我可以将一个单元命名为 Test1
  • Excel VBA 循环遍历已过滤的数据透视项

    我是论坛新手 如果我的帖子不完整 请原谅我 我有一个非常简单的数据透视表 其中包含一个行字段 一个列字段 一个数据字段和一个过滤字段 行字段根据过滤器设置显示 使用 VBA 我的目的是循环遍历所有行枢轴项和列枢轴项并获取相应的字段名称和数据
  • 隐藏函数模板,声明专业化

    这是后续C 模板 防止基础模板的实例化 我使用模板来实现函数重载 而无需进行隐式类型转换的混乱 declare函数模板 定义所需的专业化 重载 一切都很好 除了错误的代码在链接阶段之前不会产生错误 lib hpp template
  • 为什么在 return 语句中使用移动构造函数是合法的?

    考虑以下 include
  • Jssor slider - 如何销毁并重新创建具有不同内容的 Jssor slider

    我正在尝试使用 Jssor 滑块根据所选类别及其子类别显示不同的 HTML 内容 我成功地为一个子类别创建了内容滑块 但我不知道如何销毁当前滑块并使用通过 Ajax 加载的不同内容重新创建它 子类别中的项目数量有所不同 因此据我了解 更改当
  • MySQL:使用计算约束创建表

    创建表时 是否可以根据两列的计算值声明约束 这是解释我想要做什么的伪代码 CREATE TABLE employee comments id int 11 user id int 11 franchise branch id int 11
  • Reactjs:路由器的渲染道具不起作用

    我的项目没有出现任何错误 它只是不渲染任何内容 我错过了什么吗 在 App js 中 我使用 render props 进行数据传输 import App css import BrowserRouter as Router Route R
  • 我可以“撤消”`git lfs checkout 吗?

    我运行了以下命令 git lfs migrate import everything include pdf git reflog expire expire unreachable now all git gc prune now git
  • 查找有向图中的所有循环

    如何找到 迭代 有向图中往返给定节点的所有循环 例如 我想要这样的东西 A gt B gt A A gt B gt C gt A 但不是 B gt C gt B 我在搜索中找到了此页面 由于循环与强连通分量不同 我继续搜索 最后 我找到了一
  • 使用 jQuery 添加带有 HTML5 数据属性的选择选项

    我正在尝试使用 jQuery 为选择元素构建一组选项 除了应该包含的数据属性之外 它正在工作 这似乎被省略了 这是我的代码 cJ is JSON object currency is my select element function m
  • 桌面图形 - 或“皮肤”窗口

    我正在寻找一种在桌面上绘制动画的方法 无窗框且背景透明 我在 Windows XP 中使用 Python 但它不一定是跨平台的 尽管这会是一个很好的好处 有谁知道可以做到这一点的Python库吗 如果您想要无框窗户 有多种选择 例如 pyg
  • Log4js javascript 创建每日日志文件

    我有一个nodejs项目 使用log4js来写日志 我想在开始新日期时创建新的文件日志 例子 每日 2017 07 31 log每日 2017 08 01 log每日 2017 08 02 log每日 2017 08 03 log 在jav
  • 运行 Multidexed Espresso .APK

    运行 Espresso 测试时 gradlew connectedDebugAndroidTest 我们遇到了这个问题 com android build api transform TransformException com andro
  • .h 中定义的函数在 .cu 中声明

    我将一个项目分为三个文件夹 src include obj 我正在使用 CImg h 和 cuda h 库 我声明void convolve cimg library CImg
  • 上传的 docx 文件转为 zip

    我目前正在使用 symfony 1 4 并希望允许用户上传 Microsoft Word docx 文件 使用下面的 sfWidgetFormInputFile 小部件和 sfValidatorFile 用户可以使用简单的 Web 表单选择