Include si file_get/put_contents
1. Include
Pentru o structura cat mai simpla bazata pe foldere se foloseste instructiunea/functia include. Instructiunea include ne ajuta sa folosim cod din alte fisiere in fisierul curent. Instructiunea include este folosita de exemplu in lucruri de genul:- Fisiere cu functii (exemplu: functii.php)
- Fisiere pentru template(exemple: header.php , footer.php)
- Fisiere pentru clase (exemplu: class.core.php) - despre OOP o sa invatati la sfarsitul cursului
Exemplu in care folosim instructiunea include pentru a include fisierul functii.php in fisierul exemplu.php.
Cod functii.php:
<?php function salut(){ echo 'Aceasta este o functie dintr-un alt fisier.<br/>'; echo 'Codul a fost importat in exemplu.php folosind <b><u>instructiunea</u> include </b>.'; } ?>Cod exemplu.php
<?php include 'functii.php'; salut(); // folosim o functie din functii.php ?>Output in exemplu.php:
De retinut insa ca functii.php trebuie sa se afle in acelasi folder(i se mai spune si director) cu exemplu.php
Pentru navigarea cu un nivel mai sus in folder, adica daca tu ai fisierul exemplu.php in directorul /ex si functii.php este / (root) se foloseste ../ si tot asa, daca ai cu 2 nivele mai sus se foloseste ../../. Exemplu:
Cod /functii.php:
<?php function salut(){ echo 'Aceasta este o functie dintr-un alt fisier.<br/>'; echo 'Codul a fost importat in exemplu.php folosind <b><u>instructiunea</u> include </b>.'; } ?>Cod /ex/exemplu.php
<?php include '../functii.php'; salut(); // folosim o functie din functii.php ?>Output in /ex/exemplu.php:
Dar include mai are inca un mod de folosire, ca functie. Cod functii.php:
<?php function salut(){ echo 'Aceasta este o functie dintr-un alt fisier.<br/>'; echo 'Codul a fost importat in exemplu.php folosind <b><u>instructiunea</u> include </b>.'; } ?>Cod exemplu.php
<?php include('functii.php'); salut(); // folosim o functie din functii.php ?>Output in exemplu.php:
Observati ca nu am mai folosit include ca instructiune ci ca functie, in loc de include 'nume fisier'; am folosit functia si anume include('nume fisier';)
2. File Get Contents
string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] ) Folosim functia file_get_contents pentru a citii continutul unui fisier de pe alt server sau al nostru. De mentionat insa ca providerii de gazduire gen despregazduire au blocat complet citirea fisierelor de pe alte serverele pentru securitate asa ca eu va voi arata doar cum cititi un fisier de pe serverul vostru deoarece citirea unui fisier de pe alt server se face in exact acelasi mod.(in loc de path treceti URL-ul unde se afla fisierul)Un exemplu foarte simplu de folosire al functiei file_get_contents vedeti mai jos.
Cod exemplu.txt:
Acesta este textul din fisier.
Cod test.php:
<?php echo file_get_contents('exemplu.txt'); ?>Output pentru test.php:
Functia file_get_contents se foloseste in general pentru a scrie date pentru refolosirea lor(a imita o baza de date) sau a copia site-uri prin preluarea continutului lor.(o metoda cam proasta pentru a copia un site cand se poate face ceva mult mai avansat prin inscrierea tuturor datelor de pe site-ul tinta intr-o baza de date). Dar desigur, nu va voi invata cum sa copiati site-uri, nu acesta este scopul pentru care trebuie sa invatati PHP.
3. File Put Contents
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )Functia returneaza numarul de bytes scrisi in fisier sau valoarea booleana false in caz ca nu a functionat. Parametrii ce trebuie sa-i cunoasteti:
- $filename - fisierul unde se va scrie
- $data - datele de scris in fisier
- $flags - puteti folsoii constanta FILE_APPEND pentru a adauga text la fisier si nu sa schimbati complet textul. Mai puteti folosii si constanta FILE_USE_INCLUDE_PATH. Pentru a folosii 2 constante folositi operatorul | intre ele ex: FILE_APPEND | FILE_USE_INCLUDE_PATH
Cod exemplu.txt:
Acesta este textul initial.Cod test.php:
<?php echo 'Text initial: <b>'.file_get_contents('exemplu.txt').'</b><br/><br/>'; # Scriem alt text in fisier si pastram intr-o variabila cati bytes am scris $bytes_scrisi = file_put_contents('test.php','Text nou.'); echo 'Au fost scrisi <b>'.$bytes_scrisi.'</b> bytes <br/>'; echo 'Noul text este: <b>'.file_get_contents('exemplu.txt').'</b>'; ?>Output test.php:
Acum sa va arat si un exemplu in care adaugam in fisier text.
Cod exemplu.txt:
Prima linie din fisierCod test.php:
<?php file_put_contents('exemplu.txt', "\n A doua linie \n A treia linie \n A patra linie", FILE_APPEND); # Folosim nl2br pentru a transforma liniile in <br/> echo nl2br(file_get_contents('exemplu.txt')); ?>Output test.php:
Tags: Tutoriale, Programare Web, Php, Curs Php
Comments
Nota
0
din
0