Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

210
Vistas
Cómo escribir un código de verificación de archivos para obtener el mejor rendimiento

¿Hay alguna diferencia apreciable, en términos de velocidad en un sitio web con poco tráfico, entre los siguientes fragmentos de código?

 $html = file_get_contents('cache/foo.html'); if ($html) { echo $html; exit; }

O esto:

 $file = 'cache/foo.html'; if (file_exists($file)) { echo file_get_contents($file); exit; }

En el primer fragmento, hay una sola llamada a file_get_contents() mientras que en el segundo también hay una llamada a file_exists(). La página implica el acceso a la base de datos, y este almacenamiento en caché lo evitaría por completo.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Será imperceptiblemente más lento en un sitio web con poco tráfico; pero no hay razón para realizar esa verificación de todos modos si va a obtener el contenido si existe, ya que file_get_contents() ya realiza esa verificación detrás de escena, devolviendo false si el archivo no existe.

Incluso puede llamar a file_get_contents() directamente dentro de la condición:

 if ($html = file_get_contents('cache/foo.html')) { echo $html; exit; }
over 4 years ago · Santiago Trujillo Denunciar

0

Las diferencias de tiempo de ejecución son tan mínimas para ambas variantes que en la práctica no importa. La primera variante es un poco más rápida si el archivo existe. La segunda variante es más rápida si el archivo no existe. Ambas soluciones no tienen el mejor rendimiento porque todo el HTML se carga primero en la memoria antes de que la salida se realice con eco. Mejor es:

 $ok = @readfile ('cache/foo.html');

Con readfile, el archivo se emite directamente o sin desvíos. El operador @ suprime la advertencia si el archivo no existe. $ok contiene el número de bytes de salida si la salida fue exitosa y false si el archivo no existe.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda