-3

何らかの理由でヘッダーが機能しないため、refresh をリダイレクト機能として使用しようとしています。これが私のコードの一部です。更新ループを実行すると、次のようになります。

----------動かない /---------------

$url = $_SERVER['REQUEST_URI'];
$url = substr($url, 10); //cuting url to "index.php?site=page"
echo '<META HTTP-EQUIV="Refresh" Content="0; URL='.$url.'">';

- - - - - 働く / - - - - - - - -

$url = 'index.php?site=page';
echo '<META HTTP-EQUIV="Refresh" Content="0; URL='.$url.'">';

----------機能全体/---------------

elseif($action=="nfvi") {
        safe_query("UPDATE ".PREFIX."nfv SET nfv=nfv+1");
    $url = $_SERVER['REQUEST_URI'];
    $url = substr($url, 10);
    echo '<META HTTP-EQUIV="Refresh" Content="0; URL='.$url.'">';
}
4

2 に答える 2

1

HTTP ヘッダーを使用しないのはなぜですか?

<?php
$url = "http://www.google.com";

header("Location: index.php?site=" . urlencode($url)); /* Redirect browser */

/* Make sure that code below does not get executed when we redirect. */
exit;
?>

マニュアルを参照してください

于 2013-02-22T01:15:58.003 に答える
1

クライアントとして開始されたCURLを使用できます。

CURL_SET TIMEOUT のバランスを取ります。curl_setopt($ch, CURLOPT_TIMEOUT, 3);

$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $ping_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt($ch, CURLOPT_POST, true ); curl_setopt($ch, CURLOPT_POSTFIELDS, トリム($request)); $result = curl_exec($ch); curl_close($ch);

ヘッダーの場所が機能しない場合、ヘッダーのページの更新を確認していますか?

 header("Refresh: 2;");

ヘッダーが機能しない場合は、データの読み取りに fsockets を使用します。

$host = 'www.example.com';
$service_uri = '/cgi-bin/processACT';
$vars ='code=22&act=TEST';

$header = "Host: $host\r\n";
$header .= "User-Agent: PHP Script\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: ".strlen($vars)."\r\n";
$header .= "Connection: close\r\n\r\n";

$fp = pfsockopen("ssl://".$host, 443, $errno, $errstr);
if (!$fp) {
   echo "$errstr ($errno)<br/>\n";
   echo $fp;
} else {
    fputs($fp, "POST $service_uri  HTTP/1.1\r\n");
    fputs($fp, $header.$vars);
    fwrite($fp, $out);
    while (!feof($fp)) {
    echo fgets($fp, 128);
    }
    fclose($fp);
} 

sleep(3)そして、一時停止したいもので秒でループを作ります。

PHPでヘッダーの代わりにメタタグを使用しているのはなぜですか?

header('Location: '.$url);

または完全なヘッダー リダイレクトの例:

$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
于 2013-02-22T01:16:01.567 に答える