本文整理汇总了PHP中REST::redirect方法的典型用法代码示例。如果您正苦于以下问题:PHP REST::redirect方法的具体用法?PHP REST::redirect怎么用?PHP REST::redirect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类REST
的用法示例。
在下文中一共展示了REST::redirect方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: elseif
REST::fatal(REST::HTTP_NOT_FOUND, 'No URL for this handle');
}
} elseif (!isset($handle->type[$index]) || $handle->type[$index] != 'URL') {
REST::fatal(REST::HTTP_NOT_FOUND, 'No URL with that index');
}
// Finally, get the URL:
$url = $handle->data[$index];
// Append the URL with the current query string.
// We leave out the "index" and "redirect" fields, though.
unset($_GET['index']);
unset($_GET['redirect']);
if (!empty($_GET)) {
$url .= '?' . http_build_query($_GET);
}
// Finally, perform the actual redirect:
REST::redirect(REST::HTTP_TEMPORARY_REDIRECT, $url);
}
$xhtml_type = REST::best_xhtml_type() . '; charset=UTF-8';
$content_type = REST::best_content_type(array($xhtml_type => 1.0, 'application/json' => 1.0, 'application/x-www-form-urlencoded' => 1.0, 'text/plain; charset=US-ASCII' => 0.5), $xhtml_type);
// When was this handle last modified?
$modified = 0;
foreach ($handle->timestamp as $idx => $timestamp) {
if ($timestamp > $modified) {
$modified = $timestamp;
}
}
REST::check_if_modified_since($modified);
REST::header(array('status' => REST::HTTP_OK, 'Content-Type' => $content_type, 'Modified' => REST::http_date($modified)));
// For a HEAD request, we can quit now:
if ($_SERVER['REQUEST_METHOD'] === 'HEAD') {
exit;
示例2: while
if ($row[0] === null) {
REST::fatal(REST::HTTP_NOT_FOUND, 'No token available');
}
Topos::real_query(<<<EOS
UPDATE `Pools`
SET `minLeases` = {$row[0]}
WHERE `poolId` = {$poolId};
EOS
);
}
// while
while ($row = $result->fetch_row()) {
Topos::real_query(<<<EOS
UPDATE `Tokens` SET `tokenLeases` = {$row[1]} + 1 {$timeout}
WHERE `tokenId` = {$row[0]} AND `tokenLeases` = {$row[1]};
EOS
);
if (Topos::mysqli()->affected_rows) {
break 2;
}
}
// while
}
// while
$url = Topos::urlbase() . 'pools/' . REST::urlencode($TOPOS_POOL) . '/tokens/' . $row[0];
if ($lockUUID) {
header("X-Topos-OpaqueLockToken: opaquelocktoken:{$lockUUID}");
header('X-Topos-LockURL: ' . Topos::urlbase() . 'pools/' . REST::urlencode($TOPOS_POOL) . '/locks/' . $lockUUID);
}
REST::redirect(REST::HTTP_SEE_OTHER, $url);
示例3:
Topos::deleteTokenFile($jobid);
Portal_MySQL::real_query(<<<EOS
DELETE FROM `Token`
WHERE `token_id`={$escjobid}
AND `user_id`={$escuserid};
EOS
);
if (!Portal_MySQL::mysql()->affected_rows) {
REST::fatal(REST::HTTP_NOT_FOUND);
}
REST::header(array('status' => REST::HTTP_NO_CONTENT));
exit;
}
// The user tries to get information about eir jobs
if (file_exists($fullfilename = Portal::JOBRESULTS_DIR . $jobid)) {
REST::redirect(REST::HTTP_SEE_OTHER, Portal::portalURL() . "jobresults/{$jobid}");
}
$result = Portal_MySQL::query(<<<EOS
SELECT `token_error`
FROM `Token`
WHERE `token_id`={$escjobid}
AND `user_id`={$escuserid};
EOS
);
if (!($row = $result->fetch_row())) {
// Can't find what the user is looking for
REST::fatal(REST::HTTP_GONE);
}
if (empty($row[0])) {
REST::fatal(REST::HTTP_NOT_FOUND, "<p>Your job hasn't been executed yet. Try again later.</p>");
}
示例4: unauthorized
/**
* Never returns
*/
public static function unauthorized()
{
if ($_SERVER['SERVER_PORT'] == Portal::PORT_PLAIN) {
REST::redirect(REST::HTTP_TEMPORARY_REDIRECT, 'https://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']);
}
header('WWW-Authenticate: Basic realm="Grid Portal"');
$register = REST::htmlspecialchars('https://' . $_SERVER['SERVER_NAME'] . Portal::portalURL() . 'register?referrer=' . urlencode(REST::urlbase() . $_SERVER['REQUEST_URI']));
REST::fatal(REST::HTTP_UNAUTHORIZED, "<p>You can register <a href=\"{$register}\">here</a>.</p>");
exit;
}