Red de conocimiento del abogados - Preguntas y respuestas jurídicas - ¿Qué significa incluir en PHP? ¿Solo se usa al conectarse a la base de datos? Los archivos que terminan en .php en los siguientes corchetes

¿Qué significa incluir en PHP? ¿Solo se usa al conectarse a la base de datos? Los archivos que terminan en .php en los siguientes corchetes

$usernc es la información de entrada del usuario obtenida ($_POST['usernc']), trim() elimina caracteres sin sentido (espacios, tabulaciones (es decir, tabulación en el teclado) al principio y al final de la clave de cadena), carácter de avance de línea "\n" (carácter de avance de línea en Unix y sistemas similares a Unix), carácter de retorno de carro "\r" (también conocido como carácter de avance de línea suave, carácter de avance de línea de Mac OS X)). (Además, el carácter de salto de línea de Windows es "\r\n", y también se admite "\n", pero no se admite un carácter "\r" separado)

Además, use menos comillas dobles y comillas simples Más rápido.

Las comillas dobles admiten la incrustación de variables en cadenas y también admiten más caracteres de escape ("\r", "\n" y similares deben usar comillas dobles).

Por ejemplo: lt;?php

$b?=?'b';

$str?=?"a{$b}c" ?//?Equivalente a ?$str?=?'a'?.?$b?.?'c';?Pero las comillas dobles son más lentas>

Las comillas simples solo admiten pocas conversiones, lo que significa secuencia . De hecho, solo admite '\''?//?, que es una comilla simple, ? es equivalente a ?"'"

y '\\'?//?, que es una barra invertida <. /p>

Sin embargo, las comillas simples son mucho más rápidas.

include puede introducir un archivo PHP o un archivo HTML.

Si se introduce un archivo php, php primero ejecutará el código en el archivo incluido y luego ejecutará el código posterior.

Si se introduce un archivo html, php generará directamente este archivo.

En este ejemplo, el código para conectarse a la base de datos se coloca en conn.php en la carpeta conn.

Entonces, al incluir este archivo aquí, podrás conectarte a la base de datos.

Ver manual de PHP: include e include_once:

/manual/zh/function.include.php

/manual/zh/function.include-once. php

Por ejemplo:

inc.phplt;?php

echo?'a';

b.phplt ; ?php

echo?'m';

//?include?permite rutas relativas y rutas absolutas, aquí está la ruta relativa

//?PHP ?El manual recomienda no utilizar paréntesis al utilizar ?include? y ?require?

//?Porque son estructuras gramaticales (como if, ?echo, etc.), no funciones

include?'inc.php';

echo?'n'; gt;

Cuando ejecutas b.php, generará: man

Puede agregar _una vez o no, pero se recomienda no agregarlo, de lo contrario se ejecutará muy lentamente (varias veces más lento).

include_once se utiliza principalmente para evitar que ciertas funciones se definan repetidamente (se incluyan varias veces) y se informen errores.

Esto se debe evitar con una planificación de código adecuada, en lugar de utilizar el sufijo _once.

Aunque los problemas de rendimiento no se reflejarán demasiado en programas pequeños, en algunos proyectos complejos, los problemas de rendimiento causados ​​por un código deficiente definitivamente te volverán loco.

Puedes verlo probándolo con la función microtime().

El código es el siguiente: lt;?php

//?Obtener la hora en la que se ejecuta el código

$t?=?microtime(TRUE) ;

//?Pon el código que deseas probar aquí

//?Muestra el tiempo de ejecución, el código está en milisegundos

//?Directamente ?echo?Es probable que La salida esté en notación científica, lo que parece poco intuitivo

printf('f',?microtime(TRUE)?-?$t);

unset ($t);?/ /?Es un buen hábito cerrar sesión cuando las variables se agotan;

Además, si el archivo no existe, incluir generará una advertencia.

También existe una función require, que es similar a include, pero generará un error si el archivo no existe. require es más rápido que include porque include tiene un valor de retorno pero require no. Asimismo, es mejor no utilizar require_once.

Ver manual de PHP: require y require_once:

/manual/zh/function.require.php

/manual/zh/function.require-once. php

Además, le recomiendo que deje de leer este libro. El código de este libro es como si lo hubiera escrito un principiante. No cumple con las especificaciones en absoluto y tendrá grandes problemas de rendimiento. .

Por ejemplo:

(1) El nombre de la clave de la matriz no está entrecomillado. PHP primero buscará para ver si hay una constante con el nombre de esta clave. Si existe, es probable que este código cause problemas. Si no existe, php no tiene más remedio que devolver esta cadena. Durante este proceso de búsqueda, se producirá una pérdida considerable de rendimiento.

(2) Las comillas dobles se utilizan ampliamente y las características de las comillas dobles no se utilizan correctamente.

(3) La entrada del usuario no se filtra y existe una vulnerabilidad de inyección SQL. Se deben utilizar escapes entre comillas simples.

Debe cambiarse a: ///?Se aplica a la mayoría de las bases de datos, ?No se aplica a Sybase

$usernc?=?addslashes(trim($_POST['usernc'])) ;

//?O

$usernc?=?mysql_real_escape_string(trim($_POST['usernc']));?//?Solo aplicable a?MySQL

(4) Ahora que tenemos $_POST['usernc'], ¿por qué necesitamos usar $usernc nuevamente? ¿Es sólo para salvar algunos personajes? Desperdicio de recursos de memoria del servidor. Los recursos de memoria del servidor son muy valiosos y no deben desperdiciarse de esta manera. Cada vez que se ejecuta un programa PHP, se crea un nuevo hilo del sistema operativo y se asignan 2 MB de memoria de soporte. ¡El uso inadecuado puede causar pérdidas de memoria (Memoria insuficiente)! Si se encuentra en un sitio web grande, debería prestar más atención a este tipo de problemas.

(5) Dado que es solo para determinar si existe un dato (si existe el nombre de usuario), se debe agregar LIMIT?1 al final de la declaración SQL

De lo contrario, el rendimiento de MySQL se verá seriamente afectado. De lo contrario, después de que MySQL encuentre un dato, continuará buscando datos que cumplan las condiciones (incluso si no existen). Si la cantidad de datos en esta tabla de datos es muy grande, ¡el tiempo perdido es bastante aterrador!

Después de agregarlo, MySQL se detendrá después de buscar un dato, sin perder tiempo.

(6) Es incorrecto confiar en History.back() en JavaScript. Si el usuario no guarda el historial (algunos navegadores tienen modo de navegación privada, como Firefox, Chrome, etc.), o si el usuario borra el historial, esta declaración dejará de ser válida.

La mejor manera es crear una nueva variable de sesión, como $_SESSION['history'], y guardar los registros del historial en ella. Además, en este ejemplo, el programa debería saber a qué página debe saltar (¿no existe getuserinfo.php?).

Debe ser redirigido directamente con 302. Puede utilizar el siguiente código: //Simplemente reemplace "dirección del sitio web" con la?URL?

//?Nota:?Comienza desde?http://?hasta llegar a?URL ?finally

header('Ubicación:?Sitio web');

Tenga en cuenta que no puede haber ningún resultado antes de esto. O agregue: ob_start();

Esto es suficiente encima del archivo php al comienzo del programa.

Deben evitarse los problemas anteriores.