【问题标题】:warning glob() expects parameter 2 to be to long警告 glob() 期望参数 2 过长
【发布时间】:2015-04-13 03:53:59
【问题描述】:

当我导航到我网站上的图库页面时,相册缩略图的上方是我将在下面输入的错误消息。

warning glob() expects parameter 2 to be to long, string blah blah blah on line 237

我使用的是 FolioGallery 2.0 版。 http://www.foliopages.com/php-jquery-ajax-photo-gallery-no-database

FolioGallery.php http://pastebin.com/R77yYBuA

我不确定我的主机使用的是什么版本的 PHP,但在我用来本地测试我的网站的本地 Web 托管机器上它工作正常。我确定我的本地主机 PHP 版本比我的主机 PHP 版本更新。有没有办法让它在旧的 PHP 版本上工作?

这就是我用来调用 FolioGallery 的东西

            <!-- Start Gallery -->
            <div class="php-gallery">
            <?php include('foliogallery-demo2.php'); ?>
            </div>
            <!-- End Gallery -->

FolioGallery-demo2.php http://pastebin.com/vka1zJiA

脚本和其他相关文件可以从我上面提供的 FolioGallery 链接下载。

【问题讨论】:

  • 请出示您的代码。
  • 来自documentation:注意:GLOB_BRACE 标志在某些非 GNU 系统上不可用,例如 Solaris。
  • 这是您要求的吗?我正在与我的供应商核实他们现在使用的系统类型。如果这不起作用,您可能会推荐其他类似的 PHP 库吗?
  • 您的问题是关于您下载的代码,而不是您自己编写的代码?如果您对此代码有任何问题,请联系该代码的作者。
  • 我一直找不到地方做这件事,这就是我来这里的原因。我想我只是想看看是否有办法将 GLOB 标志设置为变量以使用 5.0 以下的 PHP 版本。

标签: php jquery gallery


【解决方案1】:

替换

$thumb_pool = glob($mainFolder.'/'.$albums[$i].'/thumbs/*{.'.implode(",",$extensions).'}', GLOB_BRACE);

//$thumb_pool = glob($mainFolder.'/'.$albums[$i].'/thumbs/*{.'.implode(",",$extensions).'}', GLOB_BRACE);

$thumb_pool = glob($mainFolder.'/'.$albums[$i].'/thumbs/*.jpg');

【讨论】:

    【解决方案2】:

    您可以使用循环代替大括号:

    $thumb_pool = array();
    foreach ($extensions as $ext) {
        $temp = glob($mainFolder.'/'.$albums[$i].'/thumbs/*'.$ext);
        $thumb_pool = array_merge($thumb_pool, $temp);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-24
      • 1970-01-01
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-01
      • 2017-08-26
      相关资源
      最近更新 更多