<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2017/12/6 0006
 * Time: 17:30
 */
header('Access-Control-Allow-Origin:*');//允许跨域

$file = $_FILES['giftfile'];

$imgDir = $_POST['imgDir'] ? $_POST['imgDir'] : 'gift/';
$uploadPath = getFolder('../'.$imgDir);
if(!$uploadPath) {
    return  response(1, '存放上传图片文件夹创建失败');
}


if(empty($file['name'])) {
    return response(2, '上传文件为空');
}
$fileName = getName($file['name']);
$newFile = $uploadPath.$fileName;


if(!move_uploaded_file($file[ "tmp_name" ], $newFile)) {
    return response(3, '文件移动出错');
}

die(response(0, '文件上传成功', ['imgPath' => $fileName]));


//---------end----------

/**
 * 自动创建存储文件夹
 * @return string
 */
 function getFolder($pathStr)
{
    if ( !is_dir( $pathStr ) ) {
        if ( !mkdir( $pathStr , 0777 , true ) ) {
            return false;
        }
    }

    return $pathStr;
}



/**
 * 重命名文件
 * @return string
 */
function getName($oriName)
{
    $ext = strtolower(strrchr($oriName, '.'));
    if (!$ext) {
        $ext = '.jpg';
    }
    //如果为zip文件,则按照原名保留
    if ($ext == '.zip'){
        return $oriName;
    }
    return $fileName =uniqid().'_'.rand(1, 999).$ext;
}

/**
 * 统一输出返回json内容
 *
 * @access public
 * @date   2016-08-16
 * @param int    $ret  状态码,0成功
 * @param string $msg  错误信息
 * @param array  $data 返回数据内容
 * @return json;
 */
function response($ret = 0, $msg = '', array $data = array())
{
    $result = [
        'ret'  => $ret,
        'msg'  => $msg,
        'data' => $data,
    ];

    return json_encode($result);
}
