skanuj0135 (14)

skanuj0135 (14)



146 PHP i MySQL dla każdego

146 PHP i MySQL dla każdego


Rysunek 5.6.

Okno dialogowe wyświetlane po wysłaniu nagłówków HTTP

Listing 5.9. Skrypt wysyłający plik do przeglądarki

<?php

$fi TePath    =

$fileNameServer - "imagel.jpg":

SfileNameBrowser = "rysunekl.jpg":

$fd = fopen($filePath.$fileNameServer. *r"):

$size = filesize($filePath.$fneNaraeServer):

Scontents = fread($fd. $size);

fclose($fd):

header(''Content-Type: appl ication/octet-stream"): header("Content-Length: Ssize:");

headerCContent-Disposition: attachment; filename=$fneNameBrowser"):

echo Scontents;

?>

on skonstruowany w taki sposób, aby nazwa pliku znajdującego się na serwerze mogła być różna od nazwy wysyłanej do przeglądarki. Dzięki temu plik o nazwie imagel.jpg zostanie wysłany jako rysunekl.jpg.

Kod rozpoczyna się od deklaracji trzech zmiennych pomocniczych. Są to: filePath — przechowująca nazwę katalogu, w którym jest zapisany plik, fi 1 eNameServer — przechowująca nazwę pliku do wysłania oraz fileNameBrowser — zawierająca nazwę, pod jaką plik zostanie wysłany do przeglądarki. Po deklaracjach zmiennych jest wykonywana funkcja fopen otwierająca plik do wysłania w trybie do odczytu (r). Wynikiem działania tej funkcji jest deskryptor (czyli specjalny identyfikator), który jest przypisywany zmiennej fd (z ang .file descriptor). Następnie za pomocą funkcji filesieze jest pobierana, i przypisywana zmiennej size, wielkość pliku. Po pobraniu rozmiaru pliku, za pomocą fUnkcji fread, jest pobierana jego zawartość. Po wykonaniu wymienionych czynności do przeglądarki są wysyłane nagłówki HTTP zgodne z podanym wyżej opisem. Na zakończenie za pomocą instrukcji echo do przeglądarki wysyłana jest odczytana wcześniej zawartość pliku.


Wyszukiwarka

Podobne podstrony:
skanuj0133 (14) 144 PHP i MySQL dla każdego if($_FILES[ plikl ][,error ] — UPL0A0_ERR_0K){ $new_name
57188 skanuj0139 (14) 150 PHP i MySQL dla każdego Jeśli plik nie istnieje, do przeglądarki wysyłana
19717 skanuj0137 (14) 148 PHP i MySQL dla każdego Rysunek 5.7. Lista plików Pik Edycja Wjdok Przej
64561 skanuj0131 (14) 142 PHP i MySQL dla każdego danych. Maksymalna wielkość pliku zależy również o
skanuj0235 (3) 248 PHP i MySQL dla każdego 248 PHP i MySQL dla każdego Rysunek 9.7. Okno wyboru tryb
skanuj0473 490 PHP i MySQL dla każdeg: Rysunek 19.1. Strona główna po zalogowaniu użytkownika niepos
73092 skanuj0233 (3) 246 PHP i MySQL dla każdego 246 PHP i MySQL dla każdego Rysunek 9.4. Okno insta
skanuj0021 5 14 t ftfwwmw aftmnrmrnm
skanuj3 14. Podaj prawo Hooke a dla jednoosiowego stanu naprężenia.B    202(1 Fv)~ 2(

więcej podobnych podstron