Wordpress:Guetzli上传prefilter插件

时间:2017-07-18 10:17:48

标签: php wordpress plugins

我正在尝试制作我的第一个WordPress插件,我有一个问题。

我想在WordPress中上传图像压缩器。在使用WordPress本机上传功能上传之前,我使用prefilter选项处理图像。

事实是图像上传,但没有被压缩。但一切似乎都很好,当我接收发送的请求并将其复制到我的计算机终端时,它就可以了。

我现在使用的服务器是我的本地主机,由xampp提供支持。 pngquant的另一个类似功能正常工作,所以我认为这不是服务器问题。

这是我的代码:

function compressed_image_upload($file){
  $ext = pathinfo($file['name'],PATHINFO_EXTENSION);

  /*Use of guetzli*/
  $allowed =  array("jpg", "jpeg");
  if(in_array($ext,$allowed)) {
    echo "<pre>";
      var_dump($file);
    echo "</pre>";

    $guetzli_path = get_home_path()."guetzli"; /*Preparation of guetzli command*/
    if(is_executable($guetzli_path)) {
      echo "guetzli executable : yes \n";

      $request = $guetzli_path." ".$file['tmp_name']." ".$file['tmp_name'];
      exec($request, $output, $return); /*Execution of guetzli*/
      echo "<pre> I'm there ! \n";
        echo "request : $request \n";
        echo "output : $output \n";
        echo "return : $return \n";
      echo "</pre>";
    }
  }

  return $file;
}
register_activation_hook( __FILE__, 'compressed_image_upload' );

结果如下。正如我之前所说,我的图像是上传的,但好像exec行没有做任何事情。

result of this part of code

有什么想法吗? (关于slackoverflow的第一篇文章,如果这个问题不够清楚,那就是仁慈的^^。如果缺乏信息,我很乐意添加信息。)

nb:guetzli的工作原理如下:“executable_path input_file_path output_file_path”。在我的情况下,我希望它擦除临时文件,以便下载上传步骤使用它。

0 个答案:

没有答案