本文整理匯總了PHP中send_header函數的典型用法代碼示例。如果您正苦於以下問題:PHP send_header函數的具體用法?PHP send_header怎麽用?PHP send_header使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了send_header函數的13個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: redirect
function redirect($uri, $status_code = 302)
{
send_header($status_code);
// Again, why are we doing this? :)
session_write_close();
session_regenerate_id(true);
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Location: ' . $uri);
exit(0);
}
示例2: fatal
/**
* Generate a fatal error, printing the $error and sending the header
* associated with the $code. By default, this function renders the
* error message with the error template. If you provide an ErrorController
* that responds to an action called _$code, it will use that instead.
* This lets you use the default error handling while developing an app
* and switch to a more polished solution later.
* This method can also be handy for testing - call it without args to see
* all the data associated with a request.
*
* @see send_header()
* @param string $error
* @param integer $code
* @return void
*
*/
function fatal($error = 'Fatal error.', $code = 500)
{
send_header($code);
error_log($error);
// do a mock request to see if we can handle this error with a controller
$manager = new PathManager(WEB_ROOT . "/error/_{$code}");
$route = $manager->build_route();
$instance = $manager->controller_instance($route->controller);
if ($instance !== FALSE && method_exists($instance, $route->action) !== FALSE) {
$route->params = array('error' => $error, 'code' => $code);
$action = $route->action;
$instance->{$action}($route->params);
} else {
template('error');
sys()->data->error = $error;
sys()->data->code = $code;
}
render($route);
exit;
}
示例3: redirect_to
/**
* Http redirection
*
* Same use as {@link url_for()}
* By default HTTP status code is 302, but a different code can be specified
* with a status key in array parameter.
*
* <code>
* redirecto('new','url'); # 302 HTTP_MOVED_TEMPORARILY by default
* redirecto('new','url', array('status' => HTTP_MOVED_PERMANENTLY));
* </code>
*
* @param string or array $param1, $param2...
* @return void
*/
function redirect_to($params)
{
# [NOTE]: (from php.net) HTTP/1.1 requires an absolute URI as argument to » Location:
# including the scheme, hostname and absolute path, but some clients accept
# relative URIs. You can usually use $_SERVER['HTTP_HOST'],
# $_SERVER['PHP_SELF'] and dirname() to make an absolute URI from a relative
# one yourself.
# TODO make absolute uri
if (!headers_sent()) {
$status = HTTP_MOVED_TEMPORARILY;
# default for a redirection in PHP
$params = func_get_args();
$n_params = array();
# extract status param if exists
foreach ($params as $param) {
if (is_array($param)) {
if (array_key_exists('status', $param)) {
$status = $param['status'];
unset($param['status']);
}
}
$n_params[] = $param;
}
$uri = call_user_func_array('url_for', $n_params);
$uri = htmlspecialchars_decode($uri, ENT_NOQUOTES);
stop_and_exit(false);
send_header('Location: ' . $uri, true, $status);
exit;
}
}
示例4: send_header
<?php
send_header('Content-Type: text/html; charset=utf-8');
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title><?php
echo $page['title'];
?>
</title>
<!-- Bootstrap -->
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/v-order.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<script type="text/javascript">
var VK_APP_ID = <?php
echo $page['VK_APP_ID'];
?>
;
示例5: define
<?php
define('ROOT', './');
session_start();
require_once ROOT . '../private_html/config.php';
require_once ROOT . '../private_html/includes/database.php';
require_once ROOT . '../private_html/includes/func.php';
cacheCurrentPage();
/// Templating
$page_title = 'MCStats :: Donate to MCStats';
$breadcrumbs = '<a href="/donate/" class="current">Donate</a>';
send_header();
echo '
<div class="row-fluid">
<div class="widget-box span8 offset2">
<div class="widget-title"><span><i></i></span><h4 style="float: left; margin-left: 35%;">Serving you rock solid stats.</h4></div>
<div class="widget-content">
<p style="font-size: 16px;">
MCStats serves over <span style="font-weight:bold; font-size: 20px;">550 requests per second</span> 24 hours a day, 7 days a week
</p>
<p style="font-size: 16px;">
That is over <b><span style="font-size: 20px;">1.5 billion</span> requests per month</b> and over <b><span style="font-size: 20px;">50 million</span> requests each day</b> and it will only continue to rise.
</p>
<p>
Every single server is tracked. To get useful data for plugins, every server needs to be identified and from there
data is stored such as the plugins the server is using (that support MCStats), the amount of players online,
and even the Minecraft version the server is on.
</p>
<p>
This is no simple task. It requires a lot of power and it also needs room for growth. Right now the service
示例6: get_redirect_key
<?php
require 'config.php';
require 'functions.php';
require config::redirect_file;
$redirect_key = get_redirect_key();
$redirect_key_formatted = format_redirect_key($redirect_key);
$redirect_target = get_redirect_target($redirect_key_formatted);
$redirect_url = build_url($redirect_target);
send_header($redirect_url);
示例7: switch
if ($_SERVER['REQUEST_METHOD'] == "POST") {
$snoopy->submit($url, $_POST);
} else {
$snoopy->fetch($url);
}
//---------------處理返回信息------------
//設置cookie
switch ($config['cookies']) {
case 1:
//全局cookies
$snoopy->cookies = set_cache('cookies');
break;
default:
break;
}
$contentType = send_header($snoopy->headers);
$charset = empty($contentType[1]) ? 'utf-8' : $contentType[1];
$charset = trim($charset, "\n\r");
//替換域名 relativeHTML relativeCSS
if (empty($config['replaceDomain'])) {
if (in_array($thisExt, array('', 'php', 'html'))) {
//替換域名
$snoopy->results = str_replace($config['host'], $rootUrl, $snoopy->results);
}
}
//替換相對地址relativeHTML
if (empty($config['replaceDomain'])) {
if (in_array($thisExt, array('', 'php', 'html'))) {
$snoopy->results = str_replace('="/', '="' . siteUri(), $snoopy->results);
$snoopy->results = str_replace('=\'/', '=\'' . siteUri(), $snoopy->results);
$snoopy->results = preg_replace('/<base href=.*?\\/>/', '', $snoopy->results);
示例8: content_type
function content_type($type)
{
send_header('Content-Type: ' . $type);
}
示例9: dispatch_post
});
dispatch_post('/admin', function () {
$db = option('db_conn');
$fh = fopen(realpath(__DIR__ . '/../config/database/initial_data.sql'), 'r');
while ($sql = fgets($fh)) {
$sql = rtrim($sql);
if (!empty($sql)) {
$db->exec($sql);
}
}
fclose($fh);
redirect_to('/admin');
});
dispatch('/admin/order.csv', function () {
$db = option('db_conn');
$stmt = $db->query(<<<SQL
SELECT order_request.*, stock.seat_id, stock.variation_id, stock.updated_at
FROM order_request JOIN stock ON order_request.id = stock.order_id
ORDER BY order_request.id ASC
SQL
);
$body = '';
$orders = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($orders as &$order) {
$body .= join(',', array($order['id'], $order['member_id'], $order['seat_id'], $order['variation_id'], $order['updated_at']));
$body .= "\n";
}
send_header('Content-Type: text/csv');
return $body;
});
run();
示例10: export_row_items
/**
* Row Export
*/
function export_row_items(&$exportPlugin, $page_title, $include_header, $export_columns, $s_item_type, $owner_id)
{
$iiresults = fetch_export_item_instance_rs($s_item_type, $owner_id);
if ($iiresults) {
send_header($exportPlugin, $page_title);
if ($include_header == 'Y') {
if (method_exists($exportPlugin, 'prompt_header')) {
$row = get_header_row('prompt', $export_columns, $s_item_type);
if (is_not_empty_array($row)) {
send_data($exportPlugin->prompt_header($row));
}
} else {
if (method_exists($exportPlugin, 'data_header')) {
$row = get_header_row('data', $export_columns, $s_item_type);
if (is_not_empty_array($row)) {
send_data($exportPlugin->data_header());
}
}
}
}
$item_instance_r2 = NULL;
while ($item_instance_r = db_fetch_assoc($iiresults)) {
$row = get_item_row($export_columns, strlen($s_item_type) == 0, $item_instance_r['item_id'], $item_instance_r['instance_no'], $item_instance_r['owner_id'], $item_instance_r['s_item_type'], $item_instance_r['title'], $item_instance_r['borrow_duration'], $item_instance_r['s_status_type'], $item_instance_r['status_comment']);
if (is_not_empty_array($row)) {
send_data($exportPlugin->item_row($row));
}
$item_instance_r2 = $item_instance_r;
}
db_free_result($iiresults);
if (method_exists($exportPlugin, 'close')) {
send_data($exportPlugin->close());
}
send_footer($exportPlugin);
return TRUE;
} else {
return FALSE;
}
}
示例11: route_post_order_action
//.........這裏部分代碼省略.........
status(HTTP_NOT_FOUND);
exit;
}
$response = array();
$act = $_POST['act'];
switch ($act) {
case 'cancel':
if ($order['uid'] != $member['id']) {
status(HTTP_FORBIDDEN);
exit;
}
if (($order['flags'] & FLAG_DELETED) == FLAG_DELETED) {
return json_error('ORDER_CANCELLED');
}
if (($order['flags'] & FLAG_REPLIED) == FLAG_REPLIED) {
return json_error('ORDER_COMMITTED');
}
// Start and lock 'reverse-order' transaction
$temp = start_order_transaction($uid, -$order['amount']);
if ($temp === FALSE) {
return json_error('START_TRANS');
}
// Set order 'DELETED' flag
$res = $MC_Text->increment("flags-1_{$local_id}", FLAG_DELETED);
if ($res === FALSE) {
// Cancel transaction
delete_temp_transaction($temp);
return json_error('CANCEL_ORDER');
}
// Commit 'reverse-order' transaction
commit_transaction($temp);
$response['ok'] = TRUE;
// Send to common queue
enqueue(array('cancel' => $local_id), '');
// Refresh balance
$response['balance'] = formatBalance('USR', $uid);
$response['order_balance'] = formatBalance('ORD', $uid);
// Send to user's queue
enqueue(array('cancel' => $local_id, 'balance' => $response['balance']), $uid);
break;
case 'commit':
# Prevent from committing own orders
#if ($order['uid'] == $member['id']) {
# status(HTTP_FORBIDDEN);
# exit;
#}
if (($order['flags'] & FLAG_DELETED) == FLAG_DELETED) {
return json_error('ORDER_CANCELLED');
}
if (($order['flags'] & FLAG_REPLIED) == FLAG_REPLIED) {
return json_error('ORDER_COMMITTED');
}
// Start and lock 'commit-order' transaction
$temp = start_commit_order_transaction($uid, $order['uid'], $order['amount']);
if ($temp === FALSE) {
return json_error('START_TRANS');
}
// Set order 'COMMITTED' flag
$resp = $MC_Text->increment("flags-1_{$local_id}", FLAG_REPLIED);
if ($resp === FALSE) {
// Cancel transaction
delete_temp_transaction($temp);
return json_error('COMMIT_ORDER');
}
// Commit 'commit-order' transaction
$resp = commit_transaction($temp);
# TODO: Store transaction id in the order
$response['ok'] = TRUE;
// Refresh balance
$response['balance'] = formatBalance('USR', $uid);
$response['order_balance'] = formatBalance('ORD', $uid);
$author = $order['uid'];
// Send to user's queue
if ($uid != $author) {
enqueue(array('commit' => $local_id, 'balance' => $response['balance']), $uid);
}
// Send to common queue
enqueue(array('commit' => $local_id), '');
// Render author's html
global $i;
global $page;
$i = get_order($local_id);
$page = array('member' => array('id' => $author));
ob_start();
include 'templates/_order.php';
$html = ob_get_clean();
// Send to author's queue
$data = array('commit' => $local_id, 'order' => $i, 'html' => $html);
if ($author == $uid) {
$data['balance'] = $response['balance'];
}
enqueue($data, $author);
break;
default:
status(HTTP_BAD_REQUEST);
exit;
}
send_header('Content-Type: application/json; charset=utf-8');
echo json_encode($response);
}
示例12: get_following
function get_following()
{
$db = option('db_conn');
$user = get('user');
$stmt = $db->prepare('SELECT users.* FROM follow_map JOIN users ON (follow_map.target = users.id) WHERE follow_map.user = :user ORDER BY follow_map.created_at DESC');
$stmt->bindValue(':user', $user['id']);
$stmt->execute();
$followings = $stmt->fetchAll(PDO::FETCH_ASSOC);
$users = array();
foreach ($followings as $following) {
$users[] = array('id' => $following['id'], 'name' => $following['name'], 'icon' => uri_for('/icon/' . $following['icon']));
}
send_header('Cache-Control: no-cache');
echo json(array(users => $users));
}
示例13: sanitize
/* Include configuration */
require_once './config.php';
/* Get path */
if (isset($_GET['path'])) {
$dir = sanitize($_GET['path']);
} else {
$dir = TFTP_FILE_ROOT;
}
/* Download or show files */
if (isset($_GET['download'])) {
/* Download files */
$file = sanitize($_GET['download']);
get_file($file);
} else {
/* Show files */
send_header($dir);
show_files($dir);
send_footer();
}
function sanitize($path)
{
/* Don't get back up the directory structure */
if (preg_match('/\\.\\./', $path) > 0) {
echo "Illegal path specified";
exit;
}
/* Make sure we are within DIRROOT */
if (preg_match('!^' . TFTP_FILE_ROOT . '!', $path) == 0) {
echo "Illegal access";
exit;
}