PbootCMS附件上传失败报错UNKNOW_ Code_ 8192; Desc_ stripos()_ Non-string needles will be interpreted as strings in the future.

wdzsjl 2周前 (10-10) 阅读数 6 #宝塔面板

当遇到 PBootCMS 附件上传失败,并报错 UNKNOW: Code: 8192; Desc: stripos(): Non-string needles will be interpreted as strings in the future. 时,这通常是因为 PHP 的版本更新导致某些函数的行为有所改变。在这个情况下,stripos() 函数在处理非字符串参数时会发出警告,因为它会在未来的版本中改变行为。

解决方案

根据提供的解决方案,你需要修改 /core/function/file.php 文件中的代码。具体步骤如下:

  1. 打开文件

    • 打开 /core/function/file.php 文件。
  2. 查找代码

    • 查找以下代码:
      php
       
      if (stripos($types, $ext) !== false)
  3. 替换代码

    • 替换为:
      php
       
      if (stripos($types, chr($ext)) !== false)

注意事项

  1. 备份文件

    • 在修改任何核心文件之前,请先备份原始文件,以防万一修改出错可以恢复。
  2. 确认 $ext 的值

    • 确认 $ext 变量确实包含了非字符串值。如果 $ext 本身就是一个字符串,那么使用 chr() 是不必要的,甚至可能会导致错误。因此,在做这个更改之前,最好确认 $ext 的实际类型。
  3. 测试上传功能

    • 修改后,测试附件上传功能是否正常工作。
wx.jpg ywfw.jpg
热门