买了个虚拟主机,除了建站不能浪费啊,刚好学习一下PHP,写了两个API练练手。
生成二维码那个PHP原本会出文本报错但是不影响使用,现声明变量后已经解决了。
一、获取bing每日图片API
链接:http://amsoft.cn/api/bing.php
<?php
//取必应每日壁纸
$bingurl = 'https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1';
$webstr = file_get_contents($bingurl); //取网页源码
require_once('class/public.php'); //引入外部内库
$imageurl = 'https://cn.bing.com'.getmidstr($webstr,'<url>','&');
header("Content-Type: image/jpeg");
echo file_get_contents($imageurl);
?>
二、生成二维码API
链接:http://amsoft.cn/api/qr.php?text=helloworld&level=L&size=10
<?php
//生成二维码
$text = '';$level = '';$size = '';
function scerweima($text,$level,$size)
{
require_once 'class/phpqrcode.php'; //引用库
if (empty($text)) $text='http://amsoft.cn'; //判断内容是否为空
if (empty($level)) $level='L'; //判断容错级是否为空,四个等级L、M、Q、H
if (empty($size)) $size=10; //判断大小是否为空
//生成二维码图片
$QR = QRcode::png($text,false,$level, $size, 2);
}
//调用查看结果
scerweima($_GET['text'],$_GET['level'],$_GET['size']);
?>
三、自己封装的函数
写的过程中,用了模块化思维,把自己常用的函数封装了一下,写起来比较省事。
<?php
function getmidstr($str, $leftStr, $rightStr) //取出中间文本
{
$left = strpos($str, $leftStr);
//echo '左边:'.$left;
$right = strpos($str, $rightStr,$left);
//echo '右边:'.$right;
if($left < 0 or $right < $left) return '';
return substr($str, $left + strlen($leftStr), $right-$left-strlen($leftStr));
}
function getleftstr($str, $rightStr) //取出左边文本
{
$right = strpos($str, $rightStr);
return substr($str, 0, $right);
}
function getrightstr($str, $leftStr) //取出右边文本
{
$left = strpos($str, $leftStr);
return substr($str, $left + strlen($leftStr));
}
?>
原创文章,作者:xiyuboy,如若转载,请注明出处:http://amblog.cn/article/258.html