5 questions courantes parmi les développeurs PHP juniors

怪我咯
Libérer: 2023-03-04 20:14:02
original
1323 Les gens l'ont consulté

1. À quels détails faut-il prêter attention lors du téléchargement de fichiers ? Comment enregistrer des fichiers dans un répertoire spécifié ? Comment éviter le problème du téléchargement de fichiers avec des noms en double ?

1). Tout d'abord, vous devez activer le téléchargement de fichiers dans php.ini ;

2). Il y a une valeur de téléchargement maximale autorisée dans php.ini, la valeur par défaut est de 2 Mo. Il peut être modifié si nécessaire ;

3). Lors du téléchargement du formulaire, assurez-vous d'écrire enctype="multipart/form-data" dans la balise form

4). est obligatoire Il s'agit d'une publication

5). Définissez le contrôle du formulaire avec type="file" et devez avoir une valeur d'attribut de nom

6). doit s'assurer que la taille du fichier téléchargé est correcte, dépasse la norme, si le type de fichier répond aux exigences et si le chemin à stocker après le téléchargement existe

7). page, et la page de réception utilise $_FILES pour recevoir les fichiers téléchargés. $_FILES est un tableau multidimensionnel.

L'indice de première dimension est le nom du contrôle de téléchargement, et les indices bidimensionnels sont nom/type/tmp_name/size/error.

représentent respectivement le nom du fichier, le type de fichier, le nom du fichier temporaire téléchargé dans le répertoire temporaire, la taille du fichier et s'il y a des erreurs.

S'il s'agit d'un téléchargement par lots, alors l'indice bidimensionnel est un tableau, pas une chaîne.

8). Une fois le fichier téléchargé, il est placé dans le chemin temporaire côté serveur. Vous devez utiliser la fonction move_uploaded_file () pour enregistrer le fichier téléchargé dans le répertoire spécifié.

9). Afin d'éviter de télécharger des fichiers avec des noms en double, vous pouvez obtenir le suffixe du fichier à partir du nom du fichier téléchargé, puis renommer le fichier en utilisant le suffixe du fichier d'horodatage.

2. La relation et la différence entre $_REQUEST, $_GET, $_POST et $_COOKIE :

  1. Relation : $_REQUEST inclut $_GET, $_POST, $_COOKIE Tous les contenus en sont une collection.

  2. $_GET, $_POST, $_COOKIE ont tous une copie dans $_REQUEST. Changer la valeur de $_REQUEST n'affecte pas $_GET etc. et vice versa.

  3. Lorsque GET et POST ont le même nom, $_REQUEST prend la valeur de POST. Lorsque COOKIE a le même nom que GET ou POST, $_REQUEST prend la valeur de COOKIE. COOKIE a la priorité la plus élevée. erreur.

3. Qu'est-ce que l'injection SQL ? Comment empêcher l’injection SQL ?

L'attaque par injection SQL est l'un des moyens couramment utilisés par les pirates pour attaquer les bases de données. Lorsque certains programmeurs écrivent du code,

ne jugent pas la légalité des données saisies par l'utilisateur. L'injecteur peut saisir un code de requête de base de données dans le formulaire et le soumettre,

le programme le soumettra. est reconstitué pour générer une instruction SQL complète, et le serveur est amené à exécuter la commande SQL malveillante. Sur la base des résultats renvoyés par le programme, l'injecteur

obtient avec succès certaines données sensibles et contrôle même l'ensemble du serveur. Il s'agit d'une injection SQL.

Pour filtrer les informations soumises, échappez aux guillemets simples.

Tout d'abord, vous pouvez le définir dans php.ini afin que tous les guillemets simples soient échappés après la soumission. Ou utilisez addlashes().

4. Quel est le concept de MVC ?

MVC (Model-View-Controller) est un modèle de conception logicielle ou une idée de programmation inventée dans les années 1980.

M fait référence à la couche de modèle (Modèle), V fait référence à la couche de vue (Vue) (couche d'affichage ou interface utilisateur) et C fait référence à la couche de contrôle (Contrôleur).

Le but de l'utilisation de mvc est de séparer M et V, afin qu'un programme puisse facilement utiliser différentes interfaces utilisateur.

Le but de l'existence de C est de jouer un rôle régulateur entre M et V pour assurer la synchronisation de M et V. Une fois M modifié, V doit être mis à jour de manière synchrone.

Séparer M et V peut faire en sorte que la même page Web affiche différents styles de page lorsque différentes vacances arrivent. Cela nécessite uniquement de créer plusieurs pages de modèles de calques d'affichage à l'avance,

Pas besoin de modifier le calque M. programme.

MVC réalise la division du travail et la coopération dans la programmation, maximise la réutilisabilité du code et rend la logique du programme plus claire et plus organisée, ce qui facilite sa maintenance et sa gestion à l'avenir.

Dans le développement de sites Web, la couche modèle

est généralement responsable de l'ajout, de la suppression, de la modification et de la vérification des informations des tables de base de données, la couche

vue est responsable de l'affichage du contenu de la page. , et le contrôle

La couche contrôleur joue un rôle de régulation entre M et V. La couche contrôleur décide quelle méthode de quelle classe de modèle appeler. Après l'exécution de

, la couche contrôleur décide laquelle. couche de vue à laquelle attribuer le résultat.

5. Que représentent respectivement $this, soi et parent ? Quand utiliser

$this représente l'objet actuel self représente la classe actuelle parent représente la classe parent de la classe actuelle

Occasions d'utilisation :

$this Cela ne peut être que utilisé dans la classe actuelle, et les propriétés et méthodes de la classe actuelle peuvent être appelées via $this->;

self ne peut être utilisé que dans la classe actuelle et est accessible dans la classe actuelle via l'opérateur de portée : Les constantes de classe, les attributs statiques dans la classe actuelle et les méthodes dans la classe actuelle

parent ne peuvent être utilisés que dans la classe actuelle avec une classe parent et accéder aux constantes de classe dans la classe parent ; via l'opérateur scope :: , les propriétés statiques dans la classe parent, les méthodes dans la classe parent.

est utilisé lorsque des opérateurs sont utilisés

a) Dans cette classe :

i.self:: constante de classe

ii.self:: attributs statiques

iii.self::method() parent::method()

b) Dans les sous-classes :

i.parent::class constantes

ii.parent::Propriété statique (publique ou protégée)

iii.parent::Method() (publique ou protégée)

c) En dehors de la classe :

i .Nom de classe ::Constante de classe

ii. Nom de la classe : Propriété statique (publique)

iii. Nom de la classe : Méthode statique (publique)


Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal