【问题标题】:unexpected error with php fileinfo extension usage (windows wamp)php fileinfo 扩展使用意外错误(windows wamp)
【发布时间】:2014-10-01 08:47:12
【问题描述】:

我在 windows7 下使用 wampserver.com 的当前 wamp(Apache:2.4.9,PHP:5.5.12)。文件上传脚本在文件信息功能方面遇到问题。我在使用 linux 灯和专业托管公司时没有遇到的麻烦。未找到 Finfo 类是错误。我在php.ini中添加了这条语句,以便在win7 wamp下使用finfo

extension=php_fileinfo.dll

我能够使用文件信息对象和函数。但是当我尝试销毁 finfo 对象时会出现一个奇怪的错误。

错误:

Warning: finfo_close() expects parameter 1 to be resource

脚本:

...
$finfo = new finfo(FILEINFO_MIME_TYPE);
$semamime = $finfo->file($_FILES['filedata']['tmp_name']);
if (false === $ext = array_search(
      $finfo->file($_FILES['filedata']['tmp_name']),
      array(
          'pdf' => 'application/pdf',
      ),
      true
)) {
throw new RuntimeException('Invalid file format.');
}
!!!! finfo_close($finfo); !!!
...

文件存在。我在屏幕上看到文件内容的 ANSI 格式。我给 finfo_close 提供了合法参数,但没有运气。这个错误是关于我的语法还是我使用的 wamp?

编辑

完整脚本:http://pastebin.com/x8Bbv5S4

php.ini 文件:http://pastebin.com/9KjVjThU(在最后一行激活了扩展)

【问题讨论】:

  • 你确定 extension=php_fileinfo.dll 没有分号吗?
  • 积极。在擦除分号之前,第一行给出错误。现在是 finfo_close()
  • @kimbarcelona 我发布了文件
  • examples for finfo_open in the manual 仅在使用带有finfo_open 的过程样式时才显示finfo_close - 在第一个面向对象样式的示例中(new finfo(…)),您会注意到那里没有给finfo_close 的电话……所以我认为在这种情况下根本不需要它。
  • 你是对的。奇怪的是,我从我的其他脚本中复制了这个脚本,该脚本在远程灯上完美运行。我认为托管公司忽略了 php 错误。

标签: php file-upload wamp mime-types


【解决方案1】:

examples for finfo_open in the manual 仅在使用带有finfo_open 的过程样式时才显示finfo_close - 在第一个面向对象样式(new finfo(…))的示例中,您会注意到没有调用finfo_close 那里……所以我认为在这种情况下根本不需要它。

【讨论】:

    猜你喜欢
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2013-02-14
    相关资源
    最近更新 更多