Darmowe Forum
Maj 05, 2024, 17:38:27 *
Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Aktualności: Forum zostało uruchomione!
 
   Strona główna   Pomoc Zaloguj się Rejestracja  
Strony: [1]
  Drukuj  
Autor Wątek: Teoria php.  (Przeczytany 2988 razy)
admin
Administrator
Ekspert
*****
Wiadomości: 821


Email
« : Marzec 26, 2014, 11:33:00 »

Wyjaśnienie podstawowych poleceń przy przesyłaniu plików
Zapisane
Davidka
Gość


Email
« Odpowiedz #1 : Marzec 26, 2014, 12:14:42 »

fopen

(PHP 4, PHP 5)

fopen — Otwiera plik lub URL

Opis 

resource fopen ( string $nazwa_pliku , string $tryb [, bool $użyj_include_path [, resource 

$kontekst ]] )

fopen() wiąże nazwany zasób, określony przez nazwa_pliku, do strumienia.

Parametry

nazwa_pliku

Jeśli nazwa_pliku jest w postaci "schemat://...", to przypuszczalnie jest to URL i PHP szuka 

protokołu obsługi (także zwanego wrapper'em) dla tego schematu. Jeśli nie zarejestrowano 

żadnego wrapper'a dla tego protokołu, PHP wyemituje notatkę, aby pomóc Tobie w wyśledzeniu 

potencajalnego problemu w Twoim skrypcie następnie będzie kontynuować z podanym 

nazwa_pliku traktując go jako zwykły plik.

Jeśli PHP zdecyduje, że nazwa_pliku określa lokalny plik, wtedy spróbuje otworzyć strumień na 

tym pliku. Plik musi być dostępny dla PHP, więc musisz zapewnić prawa dostępu do pliku 

pozwalające na taką operację. Jeśli masz włączone tryb bezpieczny lub open_basedir mogą 

mieć zastosowanie dodatkowe restrykcje.

Jeśli PHP zdecyduje, że nazwa_pliku określa zarejestrowany protokół i ten protokół jest 

zarejestowany jako sieciowy URL, PHP sprawdzi allow_url_fopen czy jest włączone. Jeśli jest 

wyłączone (off), PHP wyświetli ostrzeżenie i wywołanie fopen zakończy się niepowodzeniem.

Informacja:

Listę obsługiwanych protokołów możesz znaleźć w Supported Protocols and Wrappers. 

Niektóre protokoły (również określane przez wrappery obsługują kontekst lub/i opcje php.ini. 

Odwołaj się do konkretnej strony protokołu aby uzyskać listę opcji jakie mogą zostać ustawione 

(np. php.ini wartość user_agent używana przez wrapper http).

Na platformie Windows, dbaj aby wstawiać znaki ucieczki (escape) przed wszystkimi lewymi 

ukośnikami (backslash) użytymi w ścieżce do pliku lub używać ukośników (slash).

<?php

     $handle = fopen("c:\\data\\info.txt", "r");

     ?>

Parametr tryb określa rodzaj dostępu jaki wymagasz do strumienia. Może być dowolny z 

następujących:

tryb Opis

'r' Otwiera tylko do odczytu; umieszcza wskaźnik pliku na jego początku.

'r+' Otwiera do odczytu i zapisu; umieszcza wskaźnik pliku na jego początku.

'w' Otwiera tylko do zapisu; umieszcza wskaźnik pliku na jego początku i obcina plik 

do zerowej długości. Jeśli plik nie istnieje to próbuje go utworzyć.

'w+' Otwiera do odczytu i zapisu; umieszcza wskaźnik pliku na jego początku i 

obcina plik do zerowej długości. Jeśli plik nie istnieje to   próbuje go utworzyć.

'a'  Otwiera tylko do zapisu; umieszcza wskaźnik pliku na jego końcu.   

Jeśli plik nie istnieje to próbuje go utworzyć.

'a+' Otwiera do odczytu i zapisu; umieszcza wskaźnik pliku na jego końcu.   Jeśli 

plik nie istnieje to próbuje go utworzyć.

'x'  Tworzy i otwiera plik tylko do zapisu; umieszcza wskaźnik pliku na   

jego początku. Jeśli plik juz istnieje, wywołanie fopen()   nie powiedzie się, 

zwróci FALSE i wygeneruje błąd na poziomie   E_WARNING. Jeśli plik nie 

istnieje, spróbuje go   utworzyć. To jest równoważne z określeniem flag 

O_EXCL|O_CREAT stosowanym w wywołaniu systemowym open(2).

'x+' Tworzy i otwiera plik odczytu i zapisu; umieszcza wskaźnik pliku na jego 

początku. Jeśli plik juz istnieje, wywołanie fopen() nie powiedzie się, zwróci 

FALSE i wygeneruje błąd na poziomie E_WARNING. Jeśli plik nie istnieje, 

spróbuje go utworzyć. To jest równoważne z okresleniem flag 

O_EXCL|O_CREAT stosowanym w wywołaniu systemowym open(2). 

Informacja:

Różne rodziny systemów operacyjnych stosuja rózne konwencje końca lini. Kiedy zapisujesz 

plik tekstowy i chcesz wstawić łamanie lini, musisz użyć poprawnych dla twojego systemu 

operacyjnego znak(ów) końca lini. Systemy bazujące na Uniksie używają \n jako znaku końca 

lini, systemy bazujące na Windowsie używają \r\n jako znaków końca lini, a systemy Macintosh 

używają \r jako znak końca lini.

Jeśli użyjesz nieprawidłowego końca lini do zapisu pliku, możesz zaobserwować, w innych 

aplikacjach otwierając ten plik, że "wygląda on zabawnie".

Windows oferuje flagę ('t') konwertującą tryb tekstowy, która przezroczyście przekłada \n na \r\n 

kiedy pracujesz z plikiem. Dla kontrastu, możesz także uzyć 'b' aby wymusić tryb binarny, wtedy 

nie będzie konwertować twoich danych. Aby użyć tych flag, wstaw 'b' lub 't' jako ostatni znak w 

parametrze tryb.

Domyślnie tryb konwersji zależy od SAPI i wersji PHP jakiej używasz, więc namawiamy aby 

zawsze podawać stosowną flage w celu przenośności. Powinieneś użyć trybu 't' jeśli pracujesz 

ze zwykłymi plikami tekstowymi (plain­text)i używasz \n do ograniczenia konców lini w twoim 

skrypcie, ale wymagasz aby twój plik był czytelny w aplikacjach takich jak notatnik. Powinieneś 

uzyć 'b' w każdym innym przypadku.

Jeśli nie podasz flagi 'b' kiedy pracujesz na binarnych plikach, możesz doświadczyć dziwnych 

problemów z twoimi danymi, włączając uszkodzone pliki graficzne i dziwne problemy ze

znakami \r\n.

Informacja:

Dla przenośności, bardzo zalecane jest użycie zawsze flagi 'b' kiedy otwierasz pliki za pomocą 

fopen().

Informacja:

Ponownie, dla przenośności, jest również bardzo zalecane abyś, przepisał swój kod, który

używa lub polega na trybie 't' tak aby używał poprawnego końca lini oraz trybu 'b'.

użyj_include_path

Opcjonalny trzeci parametr użyj_include_path może być ustawiony na '1' lub TRUE jeśli chcesz

szukać pliku także w include_path.

kontekst

Informacja: Obsługa kontekstów została dodana w PHP 5.0.0. Opis kontekstów znajduje się w 

rozdziale Stream Funkcje.

Zwracane wartości 

Zwraca wskaźnik pliku do zasobu w przypadku sukcesu lub FALSE przy błędzie.

Błędy/Wyjątki 

Jeśli otwieranie się nie powiedzie, funkcja wygeneruje błąd na poziomie E_WARNING. Możesz 

użyć @ aby zatuszować to ostrzeżenie.
Zapisane
niewidzialny92
Gość


Email
« Odpowiedz #2 : Marzec 26, 2014, 12:55:57 »

http://gawryszczak.cba.pl/index.html
Zapisane
Strony: [1]
  Drukuj  
 
Skocz do:  

Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC | Sitemap

Polityka cookies
Darmowe Fora | Darmowe Forum

humanwolf off-road4x4wiki film 1bs blackborough