PHP学习代码

1 篇文章 0 订阅

应用背景:

实现玩主电影票接口(新空气开发)的查询和下单等功能;

服务器架构:

apache+php

fgparams.cfg:

cities=http://qa.fun-guide.mobi:7005/v2/cities
areas=http://qa.fun-guide.mobi:7005/v2/areas
cinemas=http://qa.fun-guide.mobi:7005/v2/cinemas
halls=http://qa.fun-guide.mobi:7005/v2/halls
seats=http://qa.fun-guide.mobi:7005/v2/seats
movies=http://qa.fun-guide.mobi:7005/v2/movies
shows=http://qa.fun-guide.mobi:7005/v2/shows
seat4show=http://qa.fun-guide.mobi:7005/v1/seat4show
createOrder=http://qa.fun-guide.mobi:7005/v1/createOrder
confirmOrder=http://api.funguide.com.cn/v1/confirmOrder
cancelOrder=http://qa.fun-guide.mobi:7005/v1/cancelOrder
orders=http://qa.fun-guide.mobi:7005/v1/orders
key=test
secret=9de35499658b6dd95643a98d92cc2c92
sig_name=sig

fgtool.php:

<?php
header("Content-type: text/html; charset=utf-8");
//$param_name="areas";

$param_file_path="./fgparams.cfg";
$sig_nm_name="sig_name";
$key_name="key";
$secret_name="secret";
$url;
$sig_nm;
$key;
$secret;

$param_file=file($param_file_path);
foreach($param_file as $param_line) {
	$param_line=str_replace(array("\n","\r"),"",$param_line);
	$line_setting=explode("=", $param_line);
	if (!strcmp($line_setting[0], $param_name)) {
		$url = $line_setting[1];
		//echo $url."<br />";
	}
	elseif (!strcmp($line_setting[0], $sig_nm_name)) {
		$sig_nm = $line_setting[1];
	}
	elseif (!strcmp($line_setting[0], $key_name)) {
		$key = $line_setting[1];
	}
	elseif (!strcmp($line_setting[0], $secret_name)) {
		$secret = $line_setting[1];
	}
}

$params=$key_name."=".$key;

$keys=array_keys($_GET);
foreach($keys as $key) {
	$params=$params."&".$key."=".$_GET[$key];
}

$md5_value=md5($params.$secret);
$params=$params."&".$sig_nm."=".$md5_value;

$url=$url."?".$params;
echo "url=".$url."<br />";

$page = file_get_contents($url);
echo $page;
?>
areas.php(获取地区列表)

<?php
$param_name="areas";

include "./fgtool.php";

?>
cancelOrder.php(取消订单)

<?php
$param_name="cancelOrder";

include "./fgtool.php";

?>

。。。。。。

测试代码:

funguide.php

<?php
if (!is_array($_GET)) {
	echo "<p>error : no _GET array!</p>";
	return;
}
elseif (count($_GET) < 1) {
	echo "<p>error : _GET has not enough elements!</p>";
	return;
}
elseif (!isset($_GET["key"])) {
	echo "<p>error : _GET has no param key!</p>";
	print_r(array_keys($_GET));
	exit(0);
}

echo file_get_contents("php://input");
echo $_SERVER['REQUEST_METHOD'];

$secret='9de35499658b6dd95643a98d92cc2c92';
$params='key='.$_GET["key"];
$sign=md5($params.$secret);

//echo "sign=".$sign.", sig=".$_GET["sig"];

if (strcmp($sign, $_GET["sig"]))
	echo "<p>check sig error!</p>";
else {
	$url = "http://qa.fun-guide.mobi:7005/v2/cities?$params&sig=$sign";
	//$url = "http://qa.fun-guide.mobi:7005/v2/cities?key=test&sig=b89626e06ef2daa8061ed12fb8ba1883";
	$page = file_get_contents($url);
	echo $page;
}
?>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值