Javascript fwrite PNG创建零字节的文件

Javascript fwrite PNG创建零字节的文件,javascript,php,highcharts,png,fwrite,Javascript,Php,Highcharts,Png,Fwrite,我有一个“导出”自定义脚本,它以各种格式输出一系列highcharts,包括.xls、.png和.PDF。这个脚本在我的个人笔记本电脑上运行得很好,但是当我试图在我客户公司的cpu/网络上运行它时,PNG导出失败了 我很确定这不是权限问题。脚本创建PNG文件并根据需要删除它们,我可以看到文件被添加到可写文件夹,然后被删除。只是文件都是0kb。脚本完成后,应该合并所有PNG的文件也是0kb 因此,我认为这是fwrite函数的一个问题,但我不明白为什么它可以在我的笔记本电脑上工作,而不能在客户端cp

我有一个“导出”自定义脚本,它以各种格式输出一系列highcharts,包括.xls、.png和.PDF。这个脚本在我的个人笔记本电脑上运行得很好,但是当我试图在我客户公司的cpu/网络上运行它时,PNG导出失败了

我很确定这不是权限问题。脚本创建PNG文件并根据需要删除它们,我可以看到文件被添加到可写文件夹,然后被删除。只是文件都是0kb。脚本完成后,应该合并所有PNG的文件也是0kb

因此,我认为这是fwrite函数的一个问题,但我不明白为什么它可以在我的笔记本电脑上工作,而不能在客户端cpu上工作。这可能是浏览器问题吗?他们使用IE9。以下是相关代码:

    <?php

/**
 * 
 */
class actions_exportcsv {



    private static function hcexport($post_string) { //echo $post_string; die;
        // curl init
        $ch = curl_init("http://export.highcharts.com/");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt_array($ch, array(
            CURLINFO_HEADER_OUT => true,
            CURLOPT_POST => 1,
//            CURLOPT_HTTPHEADER     => array(
//                "Content-Type: multipart/form-data; boundary=---------------------------26008479621944;",
//                "Content-Length: ".  strlen($post_string).";",
//            )
        ));
        // curl exec
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        //set data to be posted
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
        $data = curl_exec($ch);
        $resultStatus = curl_getinfo($ch);
        //print_r($resultStatus);  
        curl_close($ch);
        return $data;
    }

}

?>

确保向服务器请求正确的文件夹。另外,请确保包含图像的文件夹可由服务器读取和写入


在php中运行后端代码时,这不是浏览器问题。您是否在两台计算机上运行相同的php版本?尝试检查它们是否以相同的方式配置,可能是未加载的php/apache模块。

根据您发布的日志,以下是我可以看到的直接问题。修复它们,如果仍然不起作用,发布日志,我将添加到我的答案中:

未定义ENV。ENV似乎是指向
xampp
文件夹的路径,但此处未定义,这意味着您可能没有指向正确的文件。再说一次,可能是因为它正在创建一个空文件

您没有发布所有代码。请在日志中提到的行中发布所有代码,我将修改我的答案:

177225226230233234

如果您只发布整个函数,或者至少发布第177行的一些有意义的上下文,以及226和230-234行的上下文,这将是最好的


很明显,图像实际上并没有被创建,所以
false
,或者像PHP处理的那样什么都没有,正在被写入到文件中。做上面的事,我就能回答得更好。

你能
错误报告(E\u ALL)吗并检查错误日志(如果服务器未设置为可视化记录错误,则可能检查页面的源)?还要确保highcharts库中没有某种调试模式阻止它记录错误。听起来您的服务器可能缺少依赖项,highcharts
hcexport
命令返回
false
。感谢您的帮助。我已经上传了上面部分的日志。我希望这能让您更好地了解正在发生的事情……您是否尝试过在方向上比较chmod并检查客户端服务器上是否允许fwrite?你好,Sebastian!Chmod是Linux的,对吗?我在Windows7上使用Apache。如果你问Apache是否有正确的权限,那么是的,它肯定有-我添加了自己作为用户,并可以看到PNG文件正在写入(和删除)驱动器中的脚本要求上述。。。只是那些文件是空的(0kb)…您好,我已经按照要求发布了完整的代码。我猜问题出在下面一行:
fwrite($fp,self::hcexport('filename='.$v.&type=image/png&width=800&svg=“.$post_content[$k])由于某些原因,这些图像似乎不是由导出服务器创建的。你好,Medda。应该为此加载哪些PHP/Apache模块?我很确定这不是权限问题,因为我可以在运行脚本时看到文件夹中创建/删除的文件。您好,Noobster,是的,您是对的。我只是说万一你在一台机器上加载了一些模块,而在另一台机器上忘记了。
[19-Mar-2014 01:57:39 Europe/Berlin] PHP Deprecated:  mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\xampp\htdocs\Raptor\xataface\Dataface\Application.php on line 576
[19-Mar-2014 01:57:39 Europe/Berlin] PHP Notice:  Undefined variable: ENV in C:\xampp\htdocs\Raptor\actions\exportcsv.php on line 177
[19-Mar-2014 01:57:39 Europe/Berlin] C:/xampp/htdocs/Raptor/18.png
[19-Mar-2014 01:57:43 Europe/Berlin] PHP Notice:  Undefined variable: ENV in C:\xampp\htdocs\Raptor\actions\exportcsv.php on line 177
[19-Mar-2014 01:57:43 Europe/Berlin] C:/xampp/htdocs/Raptor/22.png
[19-Mar-2014 01:57:47 Europe/Berlin] PHP Notice:  getimagesize(): Read error! in C:\xampp\htdocs\Raptor\actions\exportcsv.php on line 225
[19-Mar-2014 01:57:47 Europe/Berlin] PHP Notice:  getimagesize(): Read error! in C:\xampp\htdocs\Raptor\actions\exportcsv.php on line 226
[19-Mar-2014 01:57:47 Europe/Berlin] PHP Warning:  imagecreatetruecolor(): Invalid image dimensions in C:\xampp\htdocs\Raptor\actions\exportcsv.php on line 230
[19-Mar-2014 01:57:47 Europe/Berlin] PHP Warning:  imagecreatefrompng(): '18.png' is not a valid PNG file in C:\xampp\htdocs\Raptor\actions\exportcsv.php on line 233
[19-Mar-2014 01:57:47 Europe/Berlin] PHP Warning:  imagecreatefrompng(): '18.png' is not a valid PNG file in C:\xampp\htdocs\Raptor\actions\exportcsv.php on line 234