Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> FOPEN() vs. INCLUDE(), Czy wolniej?
MP1
post
Post #1





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

Ostrzeżenie: (0%)
-----


Czy funkcje razem połączone: fopen(), flock(), fread() działają wolniej od include()? Jeśli tak, to o ile wolniej?
Zależy mi na szybkim ładowaniu serwisu.


--------------------
COMPMaster: REAKTYWACJA
F3Sonda: gotowe
F3Kartki:
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
rogrog
post
Post #2





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

Ostrzeżenie: (0%)
-----


fopen i include to dwie różne żeczy

fopen otwieraja plik, a dalsze funkcje wykonują z nim różne operacje

natomiast include i require włączają plik - tzn. otwierają i wykonują zawarte w nim instrukcje, w uproszczeniu mówiąc jak gdyby w miejsce instrukcji include wklejono cały włączany plik (dokładniej opisane w manualu)

a teraz odpowiedź: to, która funkcja/instrukcja jest najlepsza i najszybsza zależy od tego co chcesz wykonać

1. jeżeli chcesz włączyć plik i tylko wyświetlić na ekranie, a nie zależy ci na przetwarzaniu php to możesz użyć readfile" title="Zobacz w manualu PHP" target="_manual, które powinno być szybsze od fopen, flock, fread i jeszcze do tego echo, choćby z tego powodu że jest to wywołanie tylko jednej funkcji, która dalej działa już na poziomie silnika php

2. jeżeli chcesz przetwarzać php (ale chyba nie o to ci chodzi) - konstrukcje include/require, które na pewno będą szybsze od kombinacji fopen, flock, fread, eval


--------------------
Go to the top of the page
+Quote Post
MP1
post
Post #3





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

Ostrzeżenie: (0%)
-----


Teraz napiszę więcej. Chcę zrobić skrypt, który będzie dołączał plik template'u...

Przypisanie INCLUDE do zmiennej jest niemożliwe - i w tym jest problem.

Jeśli potem będę chciał zamienić funkcją str_replace() tekst {zmienna} na $zmienna, to będzie to wtedy niemożliwe.


--------------------
COMPMaster: REAKTYWACJA
F3Sonda: gotowe
F3Kartki:
Go to the top of the page
+Quote Post
Liko
post
Post #4





Grupa: Zarejestrowani
Postów: 436
Pomógł: 6
Dołączył: 8.11.2003
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


To użyj funkcji: file_get_contents" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
silent
post
Post #5





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.08.2004
Skąd: Jastrzębie Zdrój

Ostrzeżenie: (0%)
-----


Można to zrobić tak:
  1. <?php
  2. include('plik');
  3. $tekst=ob_get_contents();
  4. ?>

Jeśli masz już gdzieś ob_start() to nie przejmuj się - nic się nie pomiesza.

Ten post edytował silent 8.09.2004, 16:54:25
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 23:13