h5上传base64文件

/**

 * h5上传base64文件

 * @param string $file 图片base64数据

 * @param string $ext 图片扩展名

 * @return string

 */

function an_upload_h5($file, $ext = 'jpg')

{

    $file = str_replace('data:image/png;base64,', '', $file);

    $file = str_replace('data:image/jpg;base64,', '', $file);

    $file = base64_decode(str_replace('data:image/jpeg;base64,', '', $file));


    $target = build_target_name($ext);


    if (!file_exists($target)) {

        file_put_contents($target, $file);

    }


    return substr($target, strlen(UPLOAD_PATH));

}


/**

 * 组装存储文件名

 * @param string $ext 扩展名

 * @return string

 */

function build_target_name($ext)

{

    $time = time();

    $path = date('/Y/m/d', $time);

    //$folder = UPLOAD_PATH.'/2014/03/31';

    $folder = UPLOAD_PATH;


    $tmp_arr = explode('/', ltrim($path, '/'));

    foreach($tmp_arr as $k=>$v) {

        $folder .= '/'.$v;


        if (!file_exists($folder)) {

            @mkdir($folder, 0777, true);

            @chmod($folder, 0777);

        }

    }


    //var_dump($tmp_arr, $folder);

    //exit;


    static $count = 1;

    // u为microseconds,> PHP 5.2.2

    if (version_compare(PHP_VERSION, '5.2.2') >= 0) {

        $current_time = date('YmdHisu', $time);

    } else {

        $current_time = date('YmdHis', $time);

    }


    $random = mt_rand(0, 100);


    $target = $folder.'/'.$current_time.'_'.$count.'_'.'_'.$random.'.'.$ext;


    $target = trim($target, '.');

    $count++;


    return $target;

}

本博客所有文章如无特别注明均为原创。作者:长颈鹿复制或转载请以超链接形式注明转自 SZY
原文地址《h5上传base64文件

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)