目次
PHP 初心者を混乱させる 10 の知識点
【8】isset()とempty()の違い
【9】mysql クエリステートメントにキーワードが含まれています
【10】HTTPプロトコル経由で複数のファイルを一度にアップロードする方法
ホームページ バックエンド開発 PHPチュートリアル PHP初心者を混乱させる10の知識ポイント

PHP初心者を混乱させる10の知識ポイント

Jun 20, 2016 pm 01:03 PM
PHPのスキル

PHP 初心者を混乱させる 10 の知識点

【1】get、post、session のページ間で変数を渡すことはできません

最新の PHP バージョンでは、自動グローバル変数がオフになっているため、前のページから送信された変数を取得するには、$_GET['foo']、$_POST['foo']、$_SESSION['foo '] を使用します。 ] 取得するため。もちろん、自動グローバル変数を on に変更することもできます (php.ini を register_globals = On に変更します)。互換性を考慮して、新しい記述方法に慣れることをお勧めします。

注: PHP のスーパーグローバル変数
PHP 4.2.0 以降、 register_globals のデフォルト値はオフになっており、その結果、$PHP_SELF や設定した SESSION 変数など、これまで直接使用できた多くの変数に "$ 形式でアクセスできなくなりました。変数名」。これにより多くの変更が残る可能性がありますが、セキュリティの向上に役立ちます。これらの変数にアクセスするには、次のように PHP スーパーグローバル変数を使用する必要があります:

$_SERVER
変数は Web サーバーによって設定されるか、現在のスクリプトの実行環境に直接関連付けられます。古い $HTTP_SERVER_VARS 配列に似ています。前の $PHP_SELF は $_SERVER['PHP_SELF'] に対応します。phpinfo を使用して $_SERVER 変数を表示できます。

$_GET
HTTP GET メソッド経由でスクリプトに送信される変数。古い $HTTP_GET_VARS 配列に似ています。

$_POST
HTTP POST メソッド経由でスクリプトに送信される変数。古い $HTTP_POST_VARS 配列に似ています。

$_COOKIE
HTTP Cookie メソッドを介してスクリプトに送信される変数。古い $HTTP_COOKIE_VARS 配列に似ています。

$_SESSION
スクリプト セッションに現在登録されている変数。古い $HTTP_SESSION_VARS 配列に似ています。

$_FILES
HTTP POST ファイルのアップロードを通じてスクリプトに送信される変数。古い $HTTP_POST_FILES 配列に似ています。

$_ENV
実行環境によってスクリプトに送信される変数。古い $HTTP_ENV_VARS 配列に似ています。
$_FILES 変数の場合: (ファイル ドメイン フィールドは「myfile」)

$_FILES['myfile']['name']
クライアント マシン ファイルの元の名前 (パスを含む)。

$_FILES['myfile']['type']
ファイルの MIME タイプ。「image/gif」など、この情報に対するブラウザのサポートが必要です。

$_FILES['myfile']['size']
アップロードされたファイルのサイズ (バイト単位)。

$_FILES['myfile']['tmp_name']
ファイルのアップロード後にサーバーに保存される一時ファイル名 (パスを含む)。

$_FILES['myfile']['error']
ファイルのアップロードに関連するエラー コード。 ['error'] は PHP 4.2.0 で追加されました。

php.ini の register_globals が on に設定されている場合、$myfile_name は $_FILES['myfile']['name'] に相当し、$myfile_type は $_FILES['myfile']['type' ]wait に相当します。 。


【2】win32 でのセッションが正しく動作しません


php.ini のデフォルトの session.save_path = /tmp
これは明らかに Linux での設定です。win32 では PHP がセッション ファイルを読み書きできないため、セッションを session.save_path = c:windowstemp などの絶対パスに変更するだけです。

【3】エラーメッセージを表示


php.ini で display_errors = On および error_reporting = E_ALL を指定すると、すべてのエラーとプロンプトが表示されます。以前の PHP 記述方法を使用すると、エラー メッセージのほとんどが表示されます。未定義変数について。変数が割り当てられる前に呼び出されると、プロンプトが表示されます。解決策は、$foo が表示されている場合は、if(isset($foo)) echo $foo または echo @$foo を実行することです。

【4】ヘッダーは送信済み


このエラーは通常、HEADER を使用するときに発生します。次のような理由が考えられます。 1. HEADER を使用する前に PRING または ECHO を実行した。 2. 現在のファイルの前に空白行がある。 3. ファイルを INCLUDE した可能性がある。ファイル このエラーは、出力または末尾に空白行がある場合にも発生します。

【5】php.iniを変更しても変化なし


IIS、ApacheなどのWebサーバーを再起動すると、最新の設定が適用されます。

【6】SQL文が動作しない場合がある

データベース操作が失敗しました。デバッグする最も簡単な方法は、SQL ステートメントをエコーし​​て変数の値を取得できるかどうかを確認することです。

【7】include と require の違い


この 2 つに大きな違いはありません。インクルードするファイルが存在しない場合、インクルードはプロンプトを表示し、次のステートメントの実行を続行すると致命的なエラーが表示されて終了します。テストによると、win32 プラットフォームでは、ファイルは最初にインクルードされてから実行されるため、ディレクトリの混乱を引き起こす可能性があるため、インクルードされるファイルに include ステートメントや require ステートメントを含めないことが最善です。 *nux では状況が異なる可能性がありますが、まだテストしていません。ファイルを複数回インクルードしたくない場合は、include_once または require_once## を使用してドキュメント データの読み取りと書き込みを行うことができます:

function r($file_name) {
$filenum=@fopen($file_name,"r");
@flock($filenum,LOCK_SH);
$file_data=@fread($filenum,filesize($file_name));
@fclose($filenum);
return $file_data;
}
function w($file_name,$data,$method="w"){
$filenum=@fopen($file_name,$method);
flock($filenum,LOCK_EX);
$file_data=fwrite($filenum,$data);
fclose($filenum);
return $file_data;
}
ログイン後にコピー

【8】isset()とempty()の違い


どちらも変数をテストするために使用されますが、isset() は変数に値が割り当てられているかどうかをテストし、empty() は値が割り当てられている変数が空かどうかをテストします。 PHP で値を割り当てずに変数を参照する場合は許可されますが、注意事項が表示されます。変数に null 値、$foo=""、$foo=0、または $foo=false が割り当てられている場合、empty($foo) は true を返し、isset($foo) も true を返します。つまり、null 値を割り当てると、変数をログアウトしないでください。変数の登録を解除するには、unset($foo) または $foo=NULL を使用します。

【9】mysql クエリステートメントにキーワードが含まれています


PHP が MySQL にクエリを実行する場合、MySQL のテーブル名またはカラム名にキーワードが含まれる場合があり、このときクエリでエラーが発生します。たとえば、テーブル名が order の場合、クエリ中にエラーが発生します。簡単な方法は、SQL ステートメントのテーブル名または列名に `[タブ キーの上] を追加して区別することです。たとえば、select * とします。 「注文」から。

【10】HTTPプロトコル経由で複数のファイルを一度にアップロードする方法


同じメソッドの 2 つのアイデアと 2 つの実装があります。具体的な手順は自分で設計する必要があります
1. 次のように、フォームに複数のファイル入力ボックスを設定し、配列で名前を付けます:

< form action="" method="post" >
< input name="usefile[]" type="file" >
< input name="usefile[]" type="file" >
< input name="usefile[]" type="file" >
< /form >
ログイン後にコピー


このようにして、サーバー側で次のテストを実行します

echo " < pre > ";
print_r($_FILES);
echo " < /pre > ";
ログイン後にコピー
ログイン後にコピー

2. フォームに複数のファイル入力ボックスを設定しますが、次のように名前が異なります。

< form action="" method="post" >
< input name="usefile_a" type="file" >
< input name="usefile_b" type="file" >
< input name="usefile_c" type="file" >
< /form >
ログイン後にコピー


サーバー側でも同じテストを実行します:

echo " < pre > ";
print_r($_FILES);
echo " < /pre > ";
ログイン後にコピー
ログイン後にコピー


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP でのファイルのアップロードおよびダウンロード手法の詳細な説明 PHP でのファイルのアップロードおよびダウンロード手法の詳細な説明 Jun 25, 2023 pm 05:57 PM

PHP は、Web サイト開発で広く使用されている非常に人気のあるサーバー側プログラミング言語です。中でもファイルのアップロードとダウンロードはWebサイトでよく使われる機能の1つであり、PHPはこれらの機能を実現するための機能や技術を豊富に提供しています。この記事では、ウェブサイトをより効率的に開発できるように、PHP でのファイルのアップロードとダウンロードのテクニックを詳しく紹介します。ファイルのアップロード ファイルのアップロードとは、ローカル コンピュータからリモート サーバーにファイルを送信することを指し、ファイルをアップロードした後、これらのファイルを保存、処理、表示できます。 PHPの場合

PHP Kuaishou API インターフェース呼び出しスキル: インターフェースから返されたエラー情報の処理方法 PHP Kuaishou API インターフェース呼び出しスキル: インターフェースから返されたエラー情報の処理方法 Jul 20, 2023 pm 11:22 PM

PHP Kuaishou API インターフェイス呼び出しのヒント: インターフェイスから返されるエラー情報の処理方法 PHP を使用して Kuaishou API インターフェイスを呼び出すと、インターフェイスがエラーを返す状況がよく発生します。処理インターフェイスから返されたエラー情報については、アプリケーションの安定性とユーザー エクスペリエンスを向上させるために、適切な処理とフィードバックを提供する必要があります。この記事では、インターフェイスから返されるエラー情報を処理するためのいくつかの手法を紹介し、対応するコード例を示します。 try-catch を使用して例外をキャッチします。API インターフェイスを呼び出すときに、いくつかの例外エラーが発生する場合があります。

PHPにおけるページング技術のフレームワークへの応用方法を詳しく解説 PHPにおけるページング技術のフレームワークへの応用方法を詳しく解説 Jun 09, 2023 am 11:40 AM

インターネットの急速な発展に伴い、ユーザーのブラウジング エクスペリエンスを向上させるためにデータ ページング機能を実装する必要がある Web サイトがますます増えています。 Web開発においてPHPは最も人気のあるサーバーサイドプログラミング言語の1つであり、データページング機能はPHP開発において欠かせない技術です。この記事では、フレームワークにおける PHP のページング テクノロジの適用方法を紹介し、さまざまなページング ソリューションの長所と短所を比較します。 1. 従来の PHP ページング手法 従来の PHP 開発では、データ ページング機能を実装するには大量のコードを記述する必要があり、それを各ページで繰り返す必要がありました。

PHP での改行の置換の詳細については、こちらをご覧ください。 PHP での改行の置換の詳細については、こちらをご覧ください。 Mar 20, 2024 pm 06:42 PM

PHP での改行の置換は、実際の開発、特にテキスト データを処理する場合によく発生する問題です。改行文字はオペレーティング システムによって表現方法が異なる場合があります。通常、Windows システムでは &quot;&quot;、Linux システムでは &quot;&quot; が使用されます。したがって、テキスト データが通常の形式であることを保証するために、改行を均一に処理する必要があります。この記事では、PHP で改行を置換する手法を詳しく説明し、具体的なコード例を示します。 1. PHP 組み込み関数を使用して改行を処理する PHP にはいくつかの組み込み関数が用意されています。

PHP プログラミングのヒント: 画像のスケーリングを処理する方法 PHP プログラミングのヒント: 画像のスケーリングを処理する方法 Aug 19, 2023 am 10:36 AM

PHP プログラミング スキル: 画像のスケーリングを処理する方法 最新の Web デザインでは、画像は不可欠な部分であり、画像のスケーリングは一般的な操作の 1 つです。画像のコレクションを表示する場合でも、さまざまなサイズのデバイスのニーズに対応する場合でも、画像のスケーリングは重要な役割を果たします。この記事では、PHP プログラミング言語を使用して画像のスケーリングを処理する方法を紹介し、参考用のコード例を添付します。 1. 画像のスケーリングに GD ライブラリを使用する GD ライブラリは PHP の強力な画像処理ライブラリであり、画像のスケーリング機能を実装するために使用できます。まず、確認してください

PHP プログラミングのヒント: 配列内の欠落している数値をすばやく見つける方法 PHP プログラミングのヒント: 配列内の欠落している数値をすばやく見つける方法 Mar 01, 2024 pm 04:27 PM

PHP プログラミングのヒント: 配列内で欠落している数値をすばやく見つける方法 プログラミングでは、配列内で特定の数値が欠落しているかどうかを確認する必要がある状況によく遭遇します。現時点では、欠落している数値をタイムリーに処理できるように、配列内で欠落している数値を見つけ出す迅速かつ効果的な方法が必要です。この記事では、PHP ベースのプログラミング手法を紹介し、具体的なコード例を使用して、配列内の欠落している数値をすばやく見つける方法を示します。 1. 方法 1: ループを使用して配列を走査する まず、配列をループして、配列内の欠落している数値をチェックします。具体的な手順

PHP の高度な同時処理スキルの分析 PHP の高度な同時処理スキルの分析 Aug 10, 2023 pm 06:53 PM

PHP の高度な同時処理スキルの分析 インターネットの発展に伴い、Web サイトへの同時アクセスの要件はますます高くなっています。 Web サイト開発用のプログラミング言語である PHP には、同時アクセスの負荷が高い場合にパフォーマンスと安定性を向上させるための特別な処理スキルが必要です。この記事では、PHP の高度な同時処理手法をいくつか紹介し、コード例を示します。 PHP-FPMPHP-FPM (FastCGIProcessManager) は、PHP によって公式に提供されているプロセス マネージャーです。

50の機能実装スキルをマスターし、PHP開発での経験を共有 50の機能実装スキルをマスターし、PHP開発での経験を共有 Nov 22, 2023 pm 04:51 PM

50の機能実装スキルをマスターし、PHP開発における経験を共有 PHP開発者として、効率的かつ高品質なコード実装を常に追求します。開発効率とコード品質を向上させるためには、さまざまな複雑な開発ニーズや課題に対処するための経験とスキルを蓄積する必要があります。この記事では、PHP 開発の旅を進めるすべての人に役立つことを願って、さまざまな機能を実装するための 50 の PHP 開発のヒントと経験を共有します。適切なフレームワークを使用する: 自分に合った PHP フレームワークを選択し、慣れることで、開発効率が向上し、

See all articles