只允许图像FILE_UPLOAD

2023-12-08

基本上下面的代码只允许图片通过我添加的.mov and .mp4到允许列表,但上传时它仍然输出该文件不是图像;只是想知道我哪里出了问题。

帖子及形式:

<html>
<body>
    <form action="test.php?post=true" method="post" enctype="multipart/form-data">
        Select image to upload:
        <input type="file" name="fileToUpload" id="fileToUpload">
        <input type="submit" value="Upload" name="submit">
    </form>
</body>
</html>

<? 
$post = $_GET['post'];

if ($post == 'true') {
    $target_dir = "uploads/";
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
    $uploadOk = 1;
    $imageFileType = pathinfo($target_file, PATHINFO_EXTENSION);
    if (isset($_POST["submit"])) {
        $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
        if ($check !== false) {
            echo "File is an image - " . $check["mime"] . ".";
            $uploadOk = 1;
        }
        else {
            echo "File is not an image.";
            $uploadOk = 0;
        }
    }

    // Check if file already exists

    if (file_exists($target_file)) {
        echo "Sorry, file already exists.";
        $uploadOk = 0;
    }

    // Check file size

    if ($_FILES["fileToUpload"]["size"] > 50000000) {
        echo "Sorry, your file is too large.";
        $uploadOk = 0;
    }

    // Allow certain file formats

    if ($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" && $imageFileType != "mp4" && $imageFileType != "mov") {
        echo "Sorry, only JPG, JPEG, PNG, MP4, MOV & GIF files are allowed.";
        $uploadOk = 0;
    }

    // Check if $uploadOk is set to 0 by an error

    if ($uploadOk == 0) {
        echo "Sorry, your file was not uploaded.";

        // if everything is ok, try to upload file

    }
    else {
        if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
            echo "The file " . basename($_FILES["fileToUpload"]["name"]) . " has been uploaded.";
        }
        else {
            echo "Sorry, there was an error uploading your file.";
        }
    }
}
?>

获取图像大小

函数将确定任何给定图像文件的大小并返回 尺寸以及文件类型和高度/宽度文本字符串 在普通 HTML IMG 标签和相应的 HTTP 中使用 内容类型。

正如文档中完全提到的那样,它仅适用于图像文件。您正在尝试上传视频文件.mov and .mp4这就是你收到该错误的原因

用于获取视频文件检查的尺寸如何在 PHP 中获取视频时长、尺寸和大小?

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

只允许图像FILE_UPLOAD 的相关文章

  • 检查 $_POST 数据

    我正在对表单进行一些垃圾邮件检查 下面的代码在我的本地主机上正常工作 如果为 true 则重定向到 google com 但是 当它在生产服务器上时却不起作用 执行脚本的其余部分并且不重定向到 Google com if POST SERV
  • 如何在laravel中注册后自动登录

    我在 laravel 中注册用户时遇到问题 user假设是包含所有数组元素的数组 同时自动登录以下代码结果false 数据库中保存的密码是hash make password user id this gt user model gt ad
  • setcookie with expire=0 浏览器关闭后不会过期

    我使用setcookie来制作一个过期 0的cookie 从 PHP 文档来看 link http php net manual en function setcookie php cookie 过期的时间 这是一个 Unix 时间戳 所以
  • PHP 通过 SSL 连接到 MS SQL

    我想要实现的目标非常简单 我想通过安全连接从 PHP 脚本连接到外部 MS SQL 数据库 然而 这已被证明是有问题的 到目前为止 经过三个小时的研究 我不知所措 客户端的平台是Ubuntu 这意味着我无法使用SQLSRV 安全连接已经在不
  • Yii2 - 错误请求 (#400) |前端和后端cookie

    仅当我打开时才会出现此问题frontend and backend在相同的browser 设想 与后端交互 gt 切换选项卡 gt 与前端交互 gt 切换选项卡返回 gt 与后端交互 gt 错误请求 400 Cookie 后端 identi
  • AWS-PHP-SDK / SNS 直接寻址返回错误

    您好 我正在使用 Laravel 4 设置来利用 AWS SNS 向我的 iOS 设备发送推送消息 从 AWS 控制台向我的设备发布命令效果很好 然后我尝试从 PHP sns AWS get sns sns gt publish array
  • 如何在 GitHub Action 中使用不同版本的 PHP 进行测试

    我有一些 PHP 代码 其中包含使用以下命令运行的测试PHPUnit并想对其进行测试GitHub Actions 我在他们的文档中找不到测试 PHP 包的方法 我想使用不同版本的 PHP 进行测试 但他们只有最新的版本7 3安装 您可以添加
  • 在哪里可以学习网络编程从入门到精通? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我尝试做教程 但它是无组织且无结构的 我在哪里可以学习 PHP 从初学者到大师 我正在寻找类似的网站w
  • 将 cookie 设置为在当天结束时过期

    我想设置一个 cookie 并让它在一天结束时过期 这有效 但 24 小时后过期 setcookie route upgrade voted true time 86400 这不起作用 setcookie route upgrade vot
  • Laravel Vue 组件只能传递数字?

    在我的 UserMenu vue 中我写道 export default props nameVal data return 并在blade php中
  • 是否可以用 PHP 编写电子邮件解析器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在codeigniter中将上传图片比例限制为16:9?

    这是我用来上传图像的代码 this gt load gt library upload ext pathinfo file name PATHINFO EXTENSION img name now ext imgConfig upload
  • PHP 编码风格回归;在开关/外壳中

    我们正在尝试为我们的团队实施新的编码风格指南 当未找到 break 时 php codeniffer 会在 switch case 语句上打印警告 如下所示 switch foo case 1 return 1 case 2 return
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • PHP 中的 -> 和 :: 有什么区别?

    这个东西困扰我好久了 一直找不到 在 php 中使用 和 gt 之间的类有什么区别 让我举个例子 想象一个名为 MyClass 的类 该类中有一个函数 myFunction 使用有什么区别 MyClass myclass new MyCla
  • PHP 检查当前日期是在设定日期之前还是之后

    我从数据库中提取一个日期 其格式为 dd mm YYYY 我想做的是检查当前日期 如果当前日期早于数据库中的日期 则需要打印数据库日期 如果是在之后 则需要打印 继续 有人能指出我正确的方向吗 if strtotime database d
  • 使用 php/regex 验证美国电话号码

    EDIT 我混合并修改了下面给出的两个答案 以形成完整的功能 现在它可以完成我想要的功能 然后是一些 所以我想我会将其发布在这里 以防其他人来寻找同样的东西 Function to analyze string against many p
  • PHP 表单 - 带验证蜜罐

    我有以下内容 效果很好 但对垃圾邮件机器人开放 我想放入蜜罐 而不是验证码 下面的代码适用于验证姓名 电子邮件 消息 但我无法让它与蜜罐一起工作 任何人都可以查看 蜜罐 代码并告诉我如何修复它吗 我希望表单给出 success2 不允许垃圾
  • 在本地 SDK 服务器上工作时,实时 Google App Engine 上出现 404

    我已经在GAE标准环境上部署了几个PHP应用程序 一切正常 现在我正在部署一个新应用程序 该应用程序位于由gcloudSDK按预期工作 终端命令 dev appserver py log level warning app yaml 问题是
  • Laravel 搜索关系

    我有两个相关的模型 我正在尝试在产品中进行搜索 并且仅显示实际搜索结果 而不是找到该产品的类别的所有产品 我不想搜索任何类别 因为无论搜索什么或找到什么 类别都会始终显示 Example I have the following categ

随机推荐

  • Angular2 使用标签更新 ng2-charts

    这些天我开始工作Angular2 并对框架有疑问ng2 图表 这是我的组件 ts code import Component from angular core import ChartsModule from ng2 charts imp
  • std::numeric_limits 作为条件

    有什么方法我可以使用std numeric limits
  • 通过 extravars 将主机名传递给 ansible playbook

    我必须通过额外的变量传递将在其上执行 Ansible 命令的主机 我事先不知道任务将应用到哪些主机 因此 我的清单文件当前缺少hosts 多变的 如果我从文章中理解 如何将额外变量传递给 Ansible playbook 正确地说 只有已经
  • 共享元素过渡 + Fragment + RecyclerView + ViewPager

    我正在实现一个图库应用程序 它有一个片段 其中包含带有图像的 RecyclerView 单击图像时我会转到 ViewPager 循环浏览图像 现在 我正在尝试仅实现入口动画 如this视频 问题是动画不起作用 我显然错过了一些东西 只是显示
  • 异常如何转移并找到处理程序?

    当引发异常时 将启动堆栈展开 直到遇到处理代码 但我对整个过程的机制有点不清楚 1 异常存储在哪里 我并不是指实际的异常对象 它可能很大 例如有一个消息字符串或其他东西 但如果您愿意的话 也可以是实际的引用或指针 它必须是某个统一的存储位置
  • Xcode 4 数据模型版本控制错误?

    安装了 Xcode 4 一切似乎都很好 除了 当我尝试向核心数据模型添加版本控制时 在说明中 它说我应该在导航器中选择数据模型 然后 选择编辑器 gt 转换为版本化模型 好吧 编辑器 菜单没有 转换为版本化模型 项目 跳过这一步会使 Xco
  • APPX Windows 应用商店包可以包含多个“应用程序”吗?

    我试图更好地理解 APPX 包的 appxmanifest 文件 我注意到它有一个
  • 在“沙盒环境”中从 .Net 应用程序加载程序集

    I am 目前正在开发一个应用程序用户将动态选择 dll 应用程序将执行该 dll 中的一些方法 如果您点击第一个链接 您会看到我正在开发一种Robocode使用 Net Framework的游戏应用程序 例如 当战斗开始时 run执行 d
  • JScrollPane 和 JViewport 最大尺寸小于内容的滚动限制

    我有一个JFrame含有一个JScrollPane含有一个JPanel The JPanel包含一堆JTextAreas 我正在向其中加载大量文本 大约 8k 10k 个字符 布局工作正常 尽管滚动有点滞后 真正的问题似乎是JPanel J
  • Laravel 5 覆盖登录功能

    我正在开发 Laravel 项目并尝试覆盖 AuthenticatesAndRegistersUsers 中的默认 postLogin 所以我更新了我的 AuthController 并添加了它来覆盖内置登录 public function
  • 无需 Firebase 云消息传递即可推送通知

    是否可以使用第 3 方服务来发送推送通知而不依赖 Google 的 Firebase 云消息传递 FCM 如果默认情况下应用程序中不包含 Firebase 包 那么创建 使用自定义框架是否可以具有与 Firebase 类似的功能集 或者 F
  • 将文本添加到字符串的开头

    在字符串开头添加新值最快的方法是什么 var mystr Doe mystr John mystr 这对你不起作用吗
  • 字符到字形映射表

    我正在关注apple com 上的文档 我设法得到The cmap encoding subtables 我100 知道platformID platformSpecificID是正确的 但是offset是可疑的 这是数据 array 3
  • 如何在opencl中创建离线编译并创建其二进制文件?

    在OpenCl的在线编译中 我们要做 program clCreateProgramWithSource context 1 const char source str const size t source size ret 但是 对于
  • Gradle 依赖项中的重复类

    我正在构建一个 Android 应用程序 并使用 recaptcha 和 easywsdl 存储库 这两个存储库都包含 okhttp 和 okio jar 并且在启动存在重复类的应用程序时出现错误 然而 这些并不相同 如果我从项目中排除 o
  • YouTube API 用于获取频道上的所有视频

    我们需要一个按 YouTube 频道名称排列的视频列表 使用 API 我们可以使用以下 API 获取频道列表 仅频道名称 https gdata youtube com feeds api channels v 2 q tendulkar
  • 在模态上滚动时防止触摸设备上的主体滚动

    我正在开发一个网络应用程序 该应用程序使用大量模态叠加层以及模态中的可滚动内容 在触摸设备上 特别是在 Android 上 移动浏览器希望滚动模式后面的正文内容 而不是模式内的实际可滚动内容区域 或者 如果内容确实滚动 当它到达可滚动区域的
  • 将 byte[] 转换为图像

    我已将图像上传到我的数据库中byte 现在我想把它展示出来 出现错误 用户代码未处理参数异常Parameter is not valid 在这一行 newImage System Drawing Image FromStream strea
  • 使用 JSoup 从表中提取数据

    我想使用 JSoup 框架提取该表 以将内容保存在 表 数组中 第一个 tr 标签是表头 以下所有内容 不包括在内 描述了该内容 table width 100 cellspacing 0 cellpadding 4 border 1 tr
  • 只允许图像FILE_UPLOAD

    基本上下面的代码只允许图片通过我添加的 mov and mp4到允许列表 但上传时它仍然输出该文件不是图像 只是想知道我哪里出了问题 帖子及形式