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

时间:2012-05-24 09:30:49

标签: php image curl mathml

我的代码为

    <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>"/>

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

请帮帮我们

此致 迪彭

2 个答案:

答案 0 :(得分:4)

尝试以下功能:

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];
}

e.g。 $ 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 /数学% 3E';

grabLiveImage($网址, '测试/', 'test.jpg放在')

答案 1 :(得分:0)

的Javascript!

  • 制作Canvas(drawImage)。
  • 获取DataURL - getImageDataURL(jQuery('img#yourimg')。attr('src'),function(image){ajax('post.php',image.data)});
  • AJAX请求服务器,将DataURL保存到文件中(file_put_contents('file.png',$ _POST ['data']))