ホームページ バックエンド開発 PHPチュートリアル ジュニア PHP 開発者の間でよくある 5 つの質問

ジュニア PHP 開発者の間でよくある 5 つの質問

Jan 16, 2017 am 11:34 AM
php

1. ファイルをアップロードする際に注意すべき点は何ですか?指定したディレクトリにファイルを保存するにはどうすればよいですか?重複した名前のファイルをアップロードする問題を回避するにはどうすればよいですか?

1) まず、php.ini でファイルのアップロードを有効にする必要があります。

2) php.ini にはアップロードできる最大値があり、デフォルトは 2MB です。必要に応じて変更できます

3) フォームをアップロードするときは、必ず enctype="multipart/form-data" を記述してください

5)。 ) フォーム コントロールを type="file" で設定し、name 属性値を指定する必要があります

6)。要件、およびアップロード後に保存されるパスが存在するかどうか。

7) フォームは受信ページに送信され、受信ページはアップロードされたファイルを受信するために $_FILES を使用します。 $_FILES は多次元配列です。

1 次元の添字はアップロード コントロールの名前で、2 次元の添字は name/type/tmp_name/size/error です。

それぞれ、ファイル名、ファイルタイプ、一時ディレクトリにアップロードされた一時ファイル名、ファイルサイズ、エラーの有無を表します。

バッチアップロードの場合、2 次元の添字は文字列ではなく配列になります。

8) ファイルがアップロードされた後、ファイルはサーバー側の一時パスに配置され、アップロードされたファイルを指定したディレクトリに保存する必要があります。

9) 重複した名前のファイルのアップロードを避けるために、アップロードされたファイル名からファイル接尾辞を取得し、タイムスタンプとファイル接尾辞を使用してファイルの名前を変更できます。

2. $_REQUEST、$_GET、$_POST、および $_COOKIE の関係と相違点:

    関係: $_REQUEST には、$_GET、$_POST、および $_COOKIE のすべての内容が含まれており、それらのコレクションです。

  1. $_GET、$_POST、$_COOKIE はすべて $_REQUEST にコピーがあります。 $_REQUEST の値を変更しても $_GET などには影響しませんし、その逆も同様です。

  2. GETとPOSTが同じ名前の場合、$_REQUESTはPOSTの値を受け取ります。 COOKIE が GET または POST と同じ名前の場合、$_REQUEST は COOKIE の値を受け取ります。 COOKIE が最も優先されます。間違い。
  3. 3. SQL インジェクションとは何ですか? SQLインジェクションを防ぐにはどうすればよいでしょうか?

SQL インジェクション攻撃は、ハッカーがデータベースを攻撃するために使用する一般的な手段の 1 つです。一部のプログラマーは、ユーザー入力データの正当性を判断しません

インジェクターは、フォームにデータベース クエリ コードを入力して送信することができます

プログラムは、送信された情報を組み合わせて完全な SQL ステートメントを生成します。サーバーはだまされて悪意のある SQL コマンドを実行します。プログラムから返された結果に基づいて、インジェクターは機密データを取得し、さらにサーバー全体を制御します。これが SQL インジェクションです。

送信された情報をフィルターするには、一重引用符をエスケープします。

まず、送信後にすべての一重引用符がエスケープされるように php.ini で設定できます。または、addslashes() を使用します。

4. MVC の概念は何ですか?

MVC (Model-View-Controller) は、1980 年代に発明されたソフトウェア設計パターンまたはプログラミングのアイデアです。

M は (Model) モデル層を指し、V は (View) ビュー層 (表示層またはユーザー インターフェイス) を指し、C は (Controller) 制御層を指します。

mvc を使用する目的は、M と V を分離して、1 つのプログラムで異なるユーザー インターフェイスを簡単に使用できるようにすることです。

C の存在の目的は、M と V の同期を確保するために M と V の間を調整する役割を果たすことです。M が変更されると、V も同期して更新される必要があります。

M と V を分離すると、M レイヤー プログラムを変更することなく、事前に複数のビュー レイヤー テンプレート ページを作成するだけで、同じ Web ページに異なるページ スタイルを表示させることができます。

MVC は、プログラミングの分業と協力を実現し、コードの再利用性を最大限に高め、プログラム ロジックをより明確かつより整理して、将来の保守と管理を容易にします。

Web サイト開発では、

モデル層は通常、データベース テーブル情報の追加、削除、変更、確認を担当します。

ビュー層は、ページ コンテンツの表示を担当します。

コントローラー層は、M 間の調整の役割を果たします。 V. コントローラー層 どのモデル クラスのどのメソッドを呼び出すかを決定します。 実行が完了した後、コントローラー層は結果をどのビュー層に割り当てるかを決定します。

5. $this、self、parent はそれぞれ何を表しますか?いつ使用するか

$this は現在のオブジェクトを表します self は現在のクラスを表します 親は現在のクラスの親クラスを表します

使用状況:

$this は $this-> を通じて現在のクラスでのみ使用できます。現在のクラスの属性とメソッドを呼び出すことができます。

self は現在のクラスでのみ使用でき、スコープ演算子:: ;

parent を介してクラス定数、現在のクラスの静的プロパティ、および現在のクラスのメソッドにアクセスします。親クラスを持つ現在のクラスでのみ使用でき、スコープ演算子:: を介してクラス定数、親クラスの静的プロパティ、および親クラスのメソッドにアクセスします。

演算子が使用される場合に動作します

a) このクラス内:

i.self::Class constant

ii.self::Static property

iii.self::Method()parent:: Method( )

b) サブクラス内:

i.parent::クラス定数

ii.parent::静的プロパティ (public または protected)

iii.parent::Method () (public または protected)

c )クラス外:

i.クラス名::クラス定数

ii. クラス名:: 静的プロパティ (パブリック)

iii. クラス名:: 静的メソッド (パブリック)


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles