1.
$fp = fopen('./jakis_plik.txt', 'r');
flock($fp, 1);
while(!feof($fp))
{
$zawartosc[] = fgets($fp, 2048);
}
flock($fp, 3);
fclose($fp);
$zawartosc = join('', $zawartosc);
2.
$nazwa_pliku = './jakis_plik.txt';
$fp = fopen($nazwa_pliku, 'r');
flock($fp, 1);
$zawartosc = fread($fp, filesize($nazwa_pliku));
flock($fp, 3);
fclose($fp);
-
$zawartosc = join('', file('./jakis_plik.txt'));
-
$nazwa_pliku = file('./jakis_plik.txt'); for($i = 0; $i < count($nazwa_pliku); $i++) { $zawartosc .= $nazwa_pliku[$i].'<br />'; }
-
$zawartosc = file_get_contents('./jakis_plik.txt');
Jeżeli chodzi o ostatni przykład to go nie polecam, ponieważ od funkcji file() już się odchodzi, ponieważ funckja ta wczytuje cały plik do tablicy i w przypadku dużych plików (np. logi serwera (pisząc skrypt do analizy logów serwera)) to ta funkcja zużywa dużo pamięci serwera.
jesli zas chodzi o wczytanie calego pliku naraz, jest najszybsza z tutaj podanych, oczywiscie jesli chodzi o wczytanie okreslonej linijki, lepszy jest 1 sposob.
zapomnielismy o file_get_content() ? ;)
$zawartosc_pliku = fread($fd, filesize($nazwa_pliku)); - powino być $fp... chyba dodałeś tą wskazówke nie sprawdzając kodu :P
Mam takie pytanko, czy wie ktoś jak wyświetlić na stronie plik zdalny. Chodzi mi o to aby wyświetlić np. plik http://www.google.pl/index.html
Jak otworzyć plik blokowo? Przypuszczalnie mam w delhi kod:
[code]
TDataRec = packed record
DanaA : Single;
DanaB : Integer;
i tak dalej...
End;
var
DataRec : Array of TDataRec;
NofRec : LongWord;
...
S:=FileSize(F);
NofRec:= S div 56;
For k:=1 to NofRec do BlockRead(F, DataRec[k-1],56);
...
[/code]
Jak to przenieść na PHP'a ??
F - uchwyt do pliku
zabujstwo dla serwera w przypadku dużych plików.
pozatym czym się to różni od tego:
może tym, że ten 2-gi jest bardziej optymalny?? tylko (sic!)
Czepiając się:
zapomnieliśmy jeszcze o:
fscanf();
fgetc();
readfile();
ja osobiście bym wczytał plik przez cURL, odarł z nagłówków, etc, i wstawił na stronę.
http://pl.php.net/manual/en/book.curl.php <- dokumentacja cURL