渲染输出另存为PHP中的图像


Render output save as image in PHP

我有代码

    <img src="http://www.wiris.net/demo/editor/render.png?mml=<math xmlns='http://www.w3.org/1998/Math/MathML'><mfenced open='[' close=']'><mrow><mi>d</mi><mi>f</mi><mi>g</mi><mi>d</mi><mi>dipen</mi><mi>g</mi></mrow></mfenced></math>"/>

如果我将此代码放在浏览器中,我可以看到一张图像。我需要将该图像存储在我的本地主机中。我尝试了GD,Copy(),Curl图像存储,但没有任何帮助。

请帮帮我

问候迪彭

试试下面的函数:

function grabLiveImage($imgUrl,$pathToSave,$filename='')
{
    $data = file_get_contents($imgUrl);
    if($filename == '')
        $filename = getFilename($imgUrl);
    $fp  = fopen($pathToSave.$filename, 'w+');  
    fputs($fp, $data);
    fclose($fp);    
    return $filename;
}
function getFilename($url)
{
    $basename = basename($url);
    $temp = explode('?',$basename);
    return $temp[0];
}

例如$url = 'http://www.wiris.net/demo/editor/render.png?mml=%3Cmath%20xmlns=%27http://www.w3.org/1998/Math/MathML%27%3E%3Cmfenced%20open=%27[%27%20close=%27]%27

%3E%3Cmrow%3E%3Cmi%3Ed%3C/mi%3E%3Cmi%3Ef%3C/mi%3E%3Cmi%3Eg%3C/mi%3E%3Cmi%3Ed%3C/mi%3E%3Cmi%3Edipen%3C/mi%3E%3Cmi%3Eg%3C/mi%3E%3C/mrow%3E%3C/mfenced%3E%3C/math%3E';

grabLiveImage($url,'test/','test.jpg')

Javascript!

  • 制作画布(绘制图像)。
  • Get the DataURL - getImageDataURL( jQuery('img#yourimg').attr('src'), function(image) { ajax('post.php', image.data) });
  • AJAX 请求服务器,将数据URL保存到文件 (file_put_contents('file.png', $_POST['data']))