1

我有代码

    <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 Image store 但没有任何帮助。

请帮帮我

问候迪彭

4

2 回答 2

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

例如 $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')

于 2012-05-24T09:40:20.333 回答
0

Javascript!

  • 制作画布(drawImage)。
  • 获取 DataURL - getImageDataURL( jQuery('img#yourimg').attr('src'), function(image) { ajax('post.php', image.data) });
  • 对服务器的 AJAX 请求,将 DataURL 保存到文件 (file_put_contents('file.png', $_POST['data']))
于 2012-05-24T09:37:39.587 回答