如何在 PHP 中检查 PDF 文件是否受密码保护 [关闭]

2023-11-29

使用 PHP 上传多个文件时,如何检查上传的 PDF 文件是否受密码保护?如果它受密码保护,我想显示错误。


我在网上发现了一个类似的帖子,检查一下。

http://drupal.org/node/843516

/**
* Check whether pdf is encrypted or password protected.
* @param <type> $form
* @param <type> $form_state
*/
function pdftest_is_encrypted($form,&$form_state) {    
     include_once 'sites/all/libraries/fpdi/pdf_parser.php';    
     foreach($form_state['values']['files'] as $value) {
       //Check whether file type is pdf and confirm the file is selected to remove.
        if($value['filemime'] == 'application/pdf' && $value['remove'] != 1) {
          $pdf = new pdf_parser($value['filepath']);                   
          if(stristr($pdf->errormsg,'File is encrypted')) {
              form_set_error('field_attachment', t('Uploaded PDF Document '.$value['filename'].' is encrypted and can not be uploaded. '.l('Guide to troubleshooting failed uploads.','http://support.scribd.com/forums/33627/entries/24412')));
          }
        }
     }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PHP 中检查 PDF 文件是否受密码保护 [关闭] 的相关文章

  • ORDER BY 字段内的 MySQL 子查询。 (没有内连接)

    有很多与此相关的问题 但都具有使用内部联接的相同答案 这 我认为 在这里是不可能的 如果我错了请告诉我 我现在正在做的是调用两个不同的 mysql 查询来获取结果 它工作完美 db gt query SELECT FROM meta WHE
  • 如何从 Laravel 中的表中选择所有列名称?

    我试图从表中获取所有列名Teller 功能 public function getTableColumns tables return DB select DB raw SELECT COLUMN NAME DATA TYPE COLUMN
  • Laravel 从 5.6 升级到 Laravel 6

    我有一个项目https github com javedbaloch4 Laravel Booking https github com javedbaloch4 Laravel Booking发展于Laravel 5 6现在我想将其升级到
  • 重定向而不改变url

    我总是不喜欢 htaccess 我正在尝试建立一个所有请求都通过index php 的网站 但我希望URL 类似于www sample com home 该网址实际上会加载 www sample com index php page hom
  • 优雅地处理没有数据的 amcharts

    我想知道我的 dataProvider 是否为空 amCharts绘制时默认为null 我怎样才能动态地处理它 var chart AmCharts makeChart chartdiv theme none type serial dat
  • 如何检查PHP变量是否包含非数字?

    我只是想知道检查 PHP 变量中是否有非数字的方法以及它是否也检测字符之间的空格 需要确保我的表单字段中没有添加任何奇怪的内容 提前致谢 如果您的意思是您只想要一个包含数字的值 那么您可以使用ctype digit http php net
  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • posts_search 中的自定义查询

    如何使用此查询作为我的自定义搜索查询 add filter posts search my search is perfect 20 2 function my search is perfect search wp query sWord
  • 如何使用 php 下载/打印页面的特定部分

    我有一个 HTML 页面如下 Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the indust
  • preg_match_all 查询仅显示有问题的外部组

    我无法弄清楚如何只显示 preg 查询的外部组级别 我会给你一个例子 preg match all start end input matches 这个输入start1 start2 2end 1end产生这个输出start1 start2
  • PHP 在输入流中使用 fwrite 和 fread

    我正在寻找将 PHP 输入流的内容写入磁盘的最有效方法 而不使用授予 PHP 脚本的大量内存 例如 如果可以上传的最大文件大小为 1 GB 但 PHP 只有 32 MB 内存 define MAX FILE LEN 1073741824 1
  • 在 PHP 中撤销 Google 访问令牌

    正如标题所示 我想以编程方式撤销授予的访问令牌 即在 PHP 中 我发现这个他们的网站 https developers google com identity protocols OAuth2WebServer tokenrevoke 但
  • 随机组合 MySQL 数据库中的两个单词

    我有一个包含名词和形容词的数据库 例如 id type word 1 noun apple 2 noun ball 3 adj clammy 4 noun keyboard 5 adj bloody ect 我想创建一个查询 它将抓取 10
  • 覆盖控制器 Symfony 3.4/4.0

    我目前正在尝试覆盖 FOSUserBundle 中的控制器 在新的文档中 https symfony com doc 3 4 bundles override html https symfony com doc 3 4 bundles o
  • IE 中的 Google 文档查看器

    我到处寻找解决方案 但找不到 我在用着谷歌文档查看器 https drive googleblog com 2009 09 view online files using google docs html查看 PDF 文件 这是一个很棒的工
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • CURL 中的 data-urlencode 是什么意思?

    我搜索了很多个小时试图弄清楚 php curl 中的 data urlencode 是什么 我尝试过这个 但我认为这是不对的 xmlpost object1 file https www lob com goblue pdf 在文档中是 d
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a

随机推荐

  • 最大化 R Shiny bs4Dash 中的绘图

    我在网上到处查了一下没有结果 我似乎无法让这些图在最大化盒子时将其高度和宽度最大化到整个窗口大小 这是我使用的要求bs4Dash 我在看这个帖子但提供的解决方案似乎对我不起作用 我缺少什么 library shiny library bs4
  • 使用犰狳和 hdf5 库的简单代码的 C++ 构建错误

    我对 C 和犰狳很陌生 并且遇到了下面描述的构建错误 我正在尝试测试以下简单代码以将犰狳矩阵保存为 hdf5 文件 include
  • 如何获取 Highcharts 树图中钻取事件的当前级别?

    似乎在 Highcharts Treemap 中没有触发下钻事件 我需要执行一些任务 例如在向下钻取和向上钻取事件上显示当前级别编号的警报 如何在树状图中完成此操作 我看到此时您可以捕获重绘事件并准备一个简单的 解析器 来检查ID 第一级的
  • Bash 子 shell 与 ssh 命令的行为非常奇怪

    考虑脚本 s2 bin bash ssh localhost tail 和脚本 s1 bin bash s2 sleep 1000 wait 现在呼叫 s1 它不会调用 ssh 命令 如果你删除 s1 中的 它就会 如果你直接调用 s2 就
  • 如何为 Intellij 编译器提供更多堆空间?

    当我制作 Intellij 项目时 我不断收到以下内存不足错误 我已经增加了堆大小idea vmoptions Xms128m Xmx2048m XX MaxPermSize 1024m XX ReservedCodeCacheSize 6
  • 使用 RSelenium 在 Chrome 中启用 Adblocker 扩展

    我正在从这个页面抓取 R 中的数据 显示弹出广告 这些广告会干扰脚本 因此我想启用广告拦截器扩展 https chrome google com webstore detail adblock gighmmpiobklfepjocnamgk
  • 如何根据用户或电子邮件过滤仪表板内容?

    我正在尝试在 Google Data Studio 上构建一个仪表板 该仪表板会根据访问仪表板的用户 使用其 Google 帐户凭据 自动过滤数据 以下是一些细节 因此 这个仪表板应该为员工显示一些汇总数据 但我们希望限制可见性并实施一些访
  • (无意中)在迭代列表时跳过项目

    我有一个列表 我想从中删除其他列表中未出现的项目 我尝试过以下方法 for w in common for i in range 1 n if not w in words i common remove w 但是 这无法删除某些项目 添加
  • 如何以编程方式使用 Google Analytics API 函数获取指标和维度列表?

    我正在尝试使用 Google Analytics API 需要通过 Google Analytics API 获取指标和维度列表 如何在 php 中使用 Google Analytics API 函数获取指标和维度列表 这无法通过 API
  • 团队构建:使用 MSDeploy 本地发布

    我刚刚开始使用团队构建功能 我发现做一些非常简单的事情所需的大量事情有点令人不知所措 我目前的设置是一个包含 Web 应用程序 组装应用程序和测试应用程序的解决方案 Web 应用程序设置了一个通过文件系统发布的 PublishProfile
  • Magento:将商品添加到购物车时如何更改商品价格

    当我将商品添加到购物车时 我希望能够以编程方式 而不是通过目录或购物车规则 更改商品价格 以下回答以编程方式将产品添加到购物车并更改价格展示了如何在更新购物车时执行此操作 而不是在添加产品时执行此操作 Thanks 您可以使用观察者类来监听
  • 使用 TypeScript 的 React 组件中的默认属性值

    我不知道如何使用 Typescript 为我的组件设置默认属性值 这是源代码 class PageState export class PageProps foo string bar export class PageComponent
  • hibernate加载对象图的正确方法是什么

    假设我有 3 个表 GrandCat Cat 和 Kitt 它们具有一对多的关系 所以我有以下课程 所有关联都是延迟加载 GrandCat int age Set
  • 在 MFC 中添加加速器(快捷方式) - 如何?

    我找到了这个链接 http support microsoft com kb 222829 但我无法理解那么多 好的 我知道我需要将其添加到我的头文件中 HACCEL m hAccelTable 然后是这个 m hAccelTable Lo
  • LaunchDaemons 和环境变量

    一段时间以来 我注意到我的 MacPorts 安装的 Apache2 实例在我启动时尚未启动 MacPorts Apache2 在启动时停止启动 LaunchDaemon 已加载 今天我在日志文件中发现了一些可能指向答案的内容 但我找不到任
  • 启用项目功能时启用 Rust nightly 功能

    在库箱中 我想按需提供回溯并使用 Rust 夜间回溯功能 为了做到这一点 Rust 需要设置 feature backtrace 在我的板条箱根部 有没有办法表达仅当设置了创建级别功能 backtrace 时 我才需要 Rust 夜间功能
  • 使用 Excel 中的 VBA 将 2 个单元格的内容合并到另一个第 3 个单元格中

    我有两个单元格 A1 和 A2 其中每一个的内容都是一个字符串 A1 你好 A2 世界 我的目标是将 A1 和 A2 的内容合并到另一个单元格中 例如A3即A3的内容应该是 你好世界 我想使用 VBA 宏来执行此操作 而不仅仅是将字符串作为
  • 使用 dplyr 按多组进行汇总

    我正在尝试使用 dplyr 来总结基于 2 个组的数据集 年份 和 区域 数据集如下所示 Year Area Num 1 2000 Area 1 99 2 2001 Area 3 85 3 2000 Area 1 60 4 2003 Are
  • 使用 window.onscroll 事件检测页面/框架滚动

    我想定位一个DIV位于页面内 以便即使用户垂直滚动页面 用户也可以看到它 该页面的顶部有一个标题 即75 px高的 现在 当用户位于页面顶部并且没有垂直滚动时 DIV必须位于标题下方 然而 一旦用户滚动页面导致标题消失 同样的DIV现在必须
  • 如何在 PHP 中检查 PDF 文件是否受密码保护 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 使用 PHP 上传多个文件时 如何检查上传的 PDF 文件是否受密码保护 如果它