0 レビュー
2 回答
php-exit()とheader()を使用してワンライナーとしてリダイレクトする
私の質問は、以下をワンライナーとして書くことです。
header('Location: www.somesite.com');
exit(0);
PHPのドキュメントには、 exit('some string');
と書くこともでき、その文字列が出力されると記載されています。 header()
関数は生のHTTPヘッダーを作成するだけで、これはテキストの文字列である必要があると思いました。したがって、上記の2行に相当するものは次のようになります。
exit(header('Location: www.somesite.com'));
少しテストしたところ、機能しました(つまり、適切に終了してリダイレクトされます。まだシェネニガンが進行しているのは見られませんでした)。
しかし、これについてはgoogleで何も見つかりません。また、 header()
がexit()<の実際の文字列を作成するかどうかは100%わかりません。 /code>関数が期待します。
それは、PHP関数のクールなトリックまたは間違った使用であり、間違っている場合は、なぜですか?
わからない
0
レビュー
答え :
解決策:
header()はexit()関数に何も返しません-生のhttpヘッダーを送信し、returnタイプはvoidです。 exit()関数は必須パラメーターを必要としないので、そうです、あなたがやっていることはうまくいくと思います:)
わからない
0
レビュー
答え :
解決策:
それでも可能ですが、2行のコードの方が読みやすくクリーンです。
header('Location: www.somesite.com');
exit(0);
1行が必要な場合は、関数を作成できます。
function redirect($url) {
header("Location: $url");
exit(0);
}
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。