检查上传的文件是否为 csv 格式

2024-01-16

我正在 php 中上传文件,并且只想上传 csv 文件。我相信我的语法适合内容类型。当它是 csv 文件时,它总是转到 else 语句。我在这里做错了什么?

if (($_FILES["file"]["type"] == "text/csv"))
{

}
else
{

}

如果我更改内容类型,它适用于该格式,但不适用于 csv。


mime 类型可能不是text/csv有些系统可以以不同的方式读取/保存它们。 (例如,有时 IE 将 .csv 文件发送为application/vnd.ms-excel)所以你最好的选择是构建一个允许值的数组并对其进行测试,然后找到所有可能的值进行测试。

$mimes = array('application/vnd.ms-excel','text/plain','text/csv','text/tsv');
if(in_array($_FILES['file']['type'],$mimes)){
  // do something
} else {
  die("Sorry, mime type not allowed");
}

如果您希望可以添加进一步检查 mime 是否以文本/纯文本形式返回,您可以运行preg_match确保它有足够的逗号作为 csv。

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

检查上传的文件是否为 csv 格式 的相关文章

  • 禁用 WooCommerce 手动/编辑订单的电子邮件通知

    需要 WooCommerce 专业知识 我需要禁用手动创建的订单的电子邮件通知 我必须使用处理状态 由于处理订单状态的自定义挂钩 我无法创建自定义状态 理想情况下 手动订单页面中可以勾选一个复选框 勾选后 它将禁止在每种状态下向客户发送电子
  • 如何将图像从 Android 应用程序上传到网络服务器的特定文件夹中

    如何将图像从 android 移动到 Web 服务器上的指定文件夹 这是我的安卓代码 package com example bitmaptest import java io ByteArrayOutputStream import ja
  • PHP条件,如果当前页面,则链接突出显示[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个带
  • 在 PHP 中包含 PHP 文件

    我有一个网站 它运行 PHP if 语句来根据附加文件的类型 即 Jpg Txt MP4 显示内容 所以我显示 TXT 文件的代码是 if post attachment txt display attachment div class d
  • Ajax 没有将我重定向到下一页

    我正在尝试将单击的图像的 ID 传递到下一页 当我开发代码时 它没有将我重定向到下一页 当我单击 F12 并检查网络中的 POST 时 它显示变量已正确传递到下一页 如附图所示 但它没有将我重定向到下一页 所以现在我知道变量在下一页中正确传
  • 如何对 SQL 进行多次查询

    我正在尝试创建一个表 并在 PHP 脚本的帮助下在数据库中插入一些值 虽然只插入 1 行 但效果很好 当我尝试输入更多行数时 出现错误 我需要为每个查询编写完整的插入语句 因为我正在使用在线 Excel 到 SQL 查询转换器
  • PHP 无法加载动态库“php_pdo_oci.dll”

    我在 Windows 8 上运行 Apache 2 4 7 和 PHP 5 5 9 我安装了 PHPUnit 并开始弹出此警告图像 警告 是的 我在 php ini 中启用了扩展加载以及 extension dir 以更正文件夹 并且该文件
  • PHP - 类外 use 关键字和类内 use 关键字的区别

    伙计们 美好的一天 只是想问一下有什么区别use之外的class and use在 的里面class 我也用谷歌搜索过 但我的问题与答案不匹配 Example namespace App Http Controllers Auth use
  • 将 null 转换为对象?

    我今天遇到了这段代码 AsyncInvoke OnTimeMessageTimer object null ElapsedEventArgs null 有没有什么问题 有时 当方法重载时 您需要这样做 以告诉编译器您正在调用哪一个 null
  • 对 SimpleXML 数据进行排序和分组

    我正在对 XML 文件中的出版物数据进行排序和分组 我目前使用的方法效果很好大部分情况下 尽管我觉得有一种更有效的方法来完成我想要完成的任务 以下是目标节点的示例
  • 在 WooCommerce 中添加到购物车之前清空购物车

    我正在使用 WP 作业管理器和 Woo Subscriptions Now 最初 我选择了一个套餐 Woo Subscription 然后我添加了所有细节 但没有提交 回到网站 所以要再次购买 我需要选择一个套餐 于是我选择了套餐并填写了详
  • 重写 URL,将 ID 替换为查询字符串中的标题

    我对 mod rewrite 很陌生 但我做了一些搜索 但找不到这个问题的答案 我有一个网站 它只有一个 PHP 页面 根据查询字符串中传递给它的 ID 提供数十页内容 我想重写 URL 以便此 ID消失并替换为从数据库中提取的页面标题 例
  • Mysqli 更新抛出 Call to a member function bind_param() 错误[重复]

    这个问题在这里已经有答案了 我有一个 70 80 字段表单 需要插入到表中 因此我首先根据表单中的输入名称在数据库中创建了一个表 而不是手动创建一个巨大的插入语句 这是我使用的代码创建 更改表 function createTable ar
  • Facebook PHP SDK - 如何获取访问令牌?

    我正在尝试从我的应用程序在用户的 Facebook 墙上发帖 用户授予应用程序在他的墙上发布的权限 并且我在数据库中有用户ID 我需要自动发送帖子 而无需用户再次登录 我的代码是 try require once dirname FILE
  • PHP print_r() 中 _r 的含义是什么?

    我见过这个答案 https stackoverflow com questions 13103410 what does r suffix mean就这样 但我不确定它对于 PHP 是否相同 如果是 可重入的含义是什么 From PHP n
  • 使用 json_encode() 函数在 PHP 数组中生成 JSON 键值对

    我正在尝试以特定语法获取 JSON 输出 这是我的代码 ss array 1 jpg 2 jpg dates array eu gt 59 99 us gt 39 99 array1 array name gt game1 publishe
  • 如何在 phalcon 框架中同时连接多个数据库在模型类中同时使用两个而不仅仅是一个

    在我的代码中我有两个数据库ABC and XYZ 我想在同一模型中使用两个数据库 而不是 phalcon 中的解决方案是什么 如何为此实现多个数据库连接 one
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • 如何从 Laravel 执行存储过程

    我需要在表单提交数据后执行存储过程 我让存储过程按照我想要的方式工作 并且我的表单正常工作 我只是不知道从 laravel 5 执行 sp 的语句 它应该是这样的 执行 my stored procedure 但我似乎在网上找不到类似的东西
  • phpActiveRecord 日期时间格式不正确

    当尝试使用 phpActiveRecord 在表中创建记录时 出现以下错误 Invalid datetime format 1292 Incorrect datetime value 2013 06 20 11 59 08 PDT for

随机推荐

  • 使用seaborn调整子图的大小

    我最近刚刚开始使用 matplotlib 和 seaborn 来绘制我的图表 这是我到目前为止编写的代码 count 1 l 13 0 47 29 10 plt figure figsize 30 40 for ww in l temp d
  • 如何使用运算符<<打印类对象

    我想为 AutoData 类编写一个打印函数 其中包含有关汽车的信息 通过这个打印函数 我理想地希望打印出包含许多不同类对象的向量 我已经为对象的每个元素编写了 get 函数 但我仍然有点不确定如何使用这些函数来编写函数以以下格式打印数据
  • javafx webview 无法正确显示 html 页面

    当我测试这个示例程序时 webview 无法正确显示 html 页面 第一页 第一个圆圈 显示正确 但 它应该每 10 秒更改一次页面 但事实并非如此 它应该显示图表 当您单击第二个圆圈时 但它没有 它应该显示显示图像 当您单击第三个圆圈时
  • Android Ant 错误:解析为没有项目的 project.properties 文件的路径

    我在 Ant 脚本中执行此操作 我链接一个库项目 更新它们并构建它们 但我不断在标题中收到此错误 有人知道如何解决这个问题吗
  • 我的聪明人有未知标签,但它是合法标签

    目前我更改 smarty 2 gt 版本 3 但我改变后出现了如下问题 SmartyCompilerException Syntax Error in template home test engine mobile9 template t
  • 通过其他表更新第二个表中的数据

    我有 3 个表 我想用第三个表和第四个表更新第二个表中的第一个表 table1和table2中的ID是唯一的 table3和table4中的ID是唯一的 在表2和表3中 uid是唯一的 但我也需要检查另一个值 源 table1 ID val
  • C 中文本查找的通用枚举

    Update 给出的代码确实有效 当我认为没有的时候我就错了 我的错 对不起 如果您可以改进代码 请在https codereview stackexchange com questions 150480 generic enum to t
  • 计算数组的期望,速度改进的建议

    我有一个 N0 N1 N2 N3 矩阵 V 和一个 N1 N1 矩阵 M N1 通常约为 30 50 N0xN1xN2xN3 约为 1 000 000 我想要一个新的 Matrix EV 其中 i0 i1 i2 i3 条目由下式给出 np
  • Chrome 扩展程序中强制代理重新身份验证

    我正在制作一个扩展 允许用户存储具有身份验证凭据 用户 通行证 的代理服务器并在服务器之间切换 我正在听webRequest onAuthRequired事件以及当服务器挑战身份验证时 证明用户已保存的用户名 密码 根据provideCre
  • 如何在iPhone上显示音频表[重复]

    这个问题在这里已经有答案了 我有一个录音机 我想知道是否有人有一个代码来显示音频表 大多数录音机都有的显示输入音频电平的条 Apple s 在这里说话 http developer apple com library ios samplec
  • UDP数据包可以分割成几个较小的数据包[重复]

    这个问题在这里已经有答案了 如果UDP数据包超过MTU 是否可以将其分成几个较小的数据包 MTU 碎片似乎与 IP 层有关 所以我认为可以 如果是这样 建议的最大值是多少 通过 UDP 发送以避免碎片的数据包大小 为什么 任何大于 MTU
  • 声明了本地函数“RestartGame”但从未使用过 Assembly-CSharp

    我真的需要帮助 当我将 Invoke 放入 C 中时 出现以下错误 声明了本地函数 RestartGame 但从未使用过 Assembly CSharp 我真的不知道为什么会发生这种情况 但这是代码 使用Unity引擎 使用UnityEng
  • 相当于 VB 脚本的%username%

    我正在寻找从当前用户的计算机中删除 OfficeFileCache 文件夹 目前我有 Option Explicit Dim obj Set obj CreateObject wscript shell Dim fso Set fso Cr
  • Web Worker:如何防止从缓存加载该文件?

    这非常烦人 我想知道为什么我的更改没有得到反映 因为我注意到我的 Web Worker 的 JavaScript 文件总是从缓存加载 我已禁用缓存并点击Ctrl F5也不行 我怎样才能确保这个文件does not从缓存中加载 worker
  • 如何以编程方式清除/重置 React-Select?

    反应选择V2 and V3似乎有几个道具 例如clearValue resetValue and setValue 无论我尝试什么 我都无法以编程方式清除选择 resetValue从外部似乎无法访问 selectRef setValue c
  • PHP set_time_limit 限制

    QUESTION 如果我使用的话效果会好吗sleep 300 以 5 分钟的间隔完成一整天 24 小时 这意味着 would set time limit 86400 work 然后我可以将主机的时间表设置为每 24 小时仅使用一次 INF
  • 修复使用 Android NDK 和 std::vector 时的 Eclipse 错误

    我正在使用 eclipse 开发一个也使用 ndk 的 Android 应用程序 我在我的应用程序中进行了向量化 并且我已经完成了必要的操作来获取它们 包括 APP STL stlport static 在我的 Application mk
  • Google Play 显示 - 您的设备与此版本的 Samsung Galaxy tab 2 和 Google Nexus 7 不兼容

    当我将应用程序发布到 Google Play 商店并尝试在 Google Nexus 7 上下载它时 我收到消息 您的设备与此版本不兼容 我的清单文件声明如下
  • 如何使用TinyXml解析特定元素

    我想解析一组元素TinyXml输出 本质上 我需要挑选出任何端口元素 portid 端口属性的状态为 open 如下所示为端口 23 最好的方法是什么 以下是 TinyXml 输出的 简化 列表
  • 检查上传的文件是否为 csv 格式

    我正在 php 中上传文件 并且只想上传 csv 文件 我相信我的语法适合内容类型 当它是 csv 文件时 它总是转到 else 语句 我在这里做错了什么 if FILES file type text csv else 如果我更改内容类型