图像
生成图片背景色
下面展示一些 内联代码片
。
/**
* 生成图片背景色
* @param $filePath --- 图片路径
* @param int[] $colorRgb ------ 背景颜色
* @param $border --- 图片边框
*/
function makePngBgColor($filePath, $colorRgb = [255,255,255],$border=2){
// $filePath = './ttt21-1.png'; //full path to your png, including filename and extension
// $savePath = './ttt21--white.png'; //full path to saved png, including filename and extension
$img = @imagecreatefrompng($filePath);
$width = imagesx($img)+$border;
$height = imagesy($img)+$border;
// $colorRgb = array('red' => 255, 'green' => 255, 'blue' => 255); //
//create new image and fill with background color
$backgroundImg = @imagecreatetruecolor($width, $height);
$color = imagecolorallocate($backgroundImg, $colorRgb[0], $colorRgb[0], $colorRgb[0]);
imagefill($backgroundImg, 0, 0, $color);
//copy original image to background
imagecopy($backgroundImg, $img, $border/2, $border/2, 0, 0, $width, $height);
//save as png
imagepng($backgroundImg, $filePath, 0);
}
CURL请求
/**
* CURL请求
* @param $url string 请求url地址
* @param $method string 请求方法 get post
* @param mixed $postFields post数据数组
* @param array $headers 请求header信息
* @param bool|false $debug 调试开启 默认false
* @return mixed
*/
function httpRequest($url, $method="GET", $postFields = null, $headers = array(), $debug = false, $timeout=60)
{
$method = strtoupper($method);
$ci = curl_init();
/* Curl settings */
curl_setopt($ci, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($ci, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0");
curl_setopt($ci, CURLOPT_CONNECTTIMEOUT,$timeout); /* 在发起连接前等待的时间,如果设置为0,则无限等待 */
curl_setopt($ci, CURLOPT_TIMEOUT, 7); /* 设置cURL允许执行的最长秒数 */
curl_setopt($ci, CURLOPT_RETURNTRANSFER, true);
switch ($method) {
case "POST":
curl_setopt($ci, CURLOPT_POST, true);
if (!empty($postFields)) {
$tmpdatastr = is_array($postFields) ? http_build_query($postFields) : $postFields;
curl_setopt($ci, CURLOPT_POSTFIELDS, $tmpdatastr);
}
break;
default:
curl_setopt($ci, CURLOPT_CUSTOMREQUEST, $method); /* //设置请求方式 */
break;
}
$ssl = preg_match('/^https:\/\//i', $url) ? TRUE : FALSE;
curl_setopt($ci, CURLOPT_URL, $url);
if ($ssl) {
curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts
curl_setopt($ci, CURLOPT_SSL_VERIFYHOST, FALSE); // 不从证书中检查SSL加密算法是否存在
}
//curl_setopt($ci, CURLOPT_HEADER, true); /*启用时会将头文件的信息作为数据流输出*/
if (ini_get('open_basedir') == '' && ini_get('safe_mode' == 'Off')) {
curl_setopt($ci, CURLOPT_FOLLOWLOCATION, 1);
}
curl_setopt($ci, CURLOPT_MAXREDIRS, 2);/*指定最多的HTTP重定向的数量,这个选项是和CURLOPT_FOLLOWLOCATION一起使用的*/
curl_setopt($ci, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ci, CURLINFO_HEADER_OUT, true);
/*curl_setopt($ci, CURLOPT_COOKIE, $Cookiestr); * *COOKIE带过去** */
$response = curl_exec($ci);
$requestinfo = curl_getinfo($ci);
$http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE);
if ($debug) {
if($postFields){
echo "=====post data======\r\n";
dump($postFields);
}
echo "=====info===== \r\n";
dump($requestinfo);
echo "=====response=====\r\n";
dump($response);
echo "=====http_code==$http_code===\r\n";
}
curl_close($ci);
return $response;
//return array($http_code, $response,$requestinfo);
}
图像
二级标题