代码之家  ›  专栏  ›  技术社区  ›  mmattax

我有一个base64编码的png,如何用php将图像写入文件?

  •  35
  • mmattax  · 技术社区  · 16 年前

    当我使用base64编码时,php中创建图像文件(png)的正确方法是什么?

    我一直在玩:

    
    file_put_contents('/tmp/'. $_REQUEST['id'].'.png', $_REQUEST['data']);
    
    

    我需要解码吗?我应该使用gd库吗?

    3 回复  |  直到 10 年前
        1
  •  34
  •   Thibault Martin-Lagardette    16 年前

    我猜你只需要打电话 base64_decode() $_REQUEST['data'] 在写入文件之前。那就足够了:)。

        2
  •  49
  •   Yevgeniy Afanasyev    10 年前

    您需要使用base64_decode()。而且。有时这是不够的。以下是您需要的所有代码:

    $img = $_POST['data'];
    $img = str_replace('data:image/png;base64,', '', $img);
    $img = str_replace(' ', '+', $img);
    $fileData = base64_decode($img);
    //saving
    $fileName = 'photo.png';
    file_put_contents($fileName, $fileData);
    

    P.S.I使用此代码从HTML画布获取PNG图像。

        3
  •  6
  •   Chris Kloberdanz    16 年前

    我想你会想用 base64_decode() 除非你只是像他们在这里一样使用它 HERE .

    我敢肯定的是,在使用之前,您需要对$_请求['id']进行清理。

    推荐文章