Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

216
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!