Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben

Hasonló dokumentumok
10. ÓRA. Fájlok használata

WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

MATLAB. 9. gyakorlat. Cellatömbök, struktúrák, fájlműveletek

WEB PROGRAMOZÁS 3.ELŐADÁS. Űrlapok

WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS

Tartalomjegyzék. I. rész Az elsõ lépések

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 5.ELŐADÁS. Sütik és munkamenetek kezelése

Dropbox - online fájltárolás és megosztás

Pénzügyi algoritmusok

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

2018, Funkcionális programozás

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

Mérnöki programozás 7. Szerkesztette: dr. Vass Péter Tamás

ELTE SAP Excellence Center Oktatóanyag 1

Listák, szótárak, fájlok Listák, szótárak, fájlok

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7.

2. modul - Operációs rendszerek

Operációs rendszerek gyak.

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II / 19

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

3. modul - Szövegszerkesztés

Webtárhely létrehozása a helyen. Lépések Teendő 1. Böngészőbe beírni: 2. Jobb oldalon regisztrálni (tárhelyigénylés).

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Programozás C nyelven (10a. ELŐADÁS) Sapientia EMTE

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Adatbázisrendszerek I. Fájlszintű adattárolás C-ben

PHP-MySQL. Adatbázisok gyakorlat

Adatbázis használata PHP-ből

ECDL Információ és kommunikáció

Programozás 6. Dr. Iványi Péter

SZOFTVEREK (programok)

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Programozás C nyelven (13. ELŐADÁS) Sapientia EMTE

Bevezetés a programozásba I.

Felhasználói segédlet

A leírás bemutatja hogy mint minden másra, Favicon készítésre is alkalmas az ingyenes Gimp rajzolóprogram.

PHP. Adatbázisok gyakorlat

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

INFORMATIKA - VIZSGAKÖVETELMÉNYEK. - négy osztályos képzés. nyelvi és matematika speciális osztályok

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

Programozás II. Fájlkezelés

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Útmutató az OKM 2007 FIT-jelentés telepítéséhez

Beszámoló átadása az OBR * -nek a Hessyn Éves beszámoló nyomtatványkitöltő programból

Példák tematikus csoportosításban

Fájlkezelés. Fájlok beágyazása az include() függvénnyel

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós május 6. Széchenyi István Egyetem, Gy r

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Beszámoló átadása az OBR * -nek a Hessyn Éves beszámoló nyomtatványkitöltő programból

VirtueMart bővítmény letölthető termékek eladásához

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

DataScope program SE/SP-300 távadókhoz HASZNÁLATI UTASÍTÁS

OZW V7.0 firmware frissítés, Remote Tool Access részletes ismertető

Fájlkezelés. Szöveges fájlok kezelése

7. gyakorlat Sorozatok, Fájlkezelés

TERC V.I.P. hardverkulcs regisztráció

FELHASZNÁLÓI KÉZIKÖNYV

Felhasználói kézikönyv

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

QGIS GRASS beépülő modul és GRASS GIS 7.0 (beta1 verzió) Hidrológiai analízis segédlet

3Sz-s Kft. Tisztelt Felhasználó!

Jelszavak helyes megválasztása, szótáras törés. Pánczél Zoltán

Képernyőképes segédlet a Prompt e-learning portál használatához

Programozási nyelvek Python

Pénzügyi algoritmusok

TESZ INTERNET ÉS KOMMUNIKÁCIÓ M7

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról

MOL NYRT - WEB ISA 3.0 FELHASZNÁLÓI KÉZIKÖNYV

MATLAB gyakorlat. Fájlműveletek folytatás, gyakorlás

Szövegek C++ -ban, a string osztály

Parlagfű Bejelentő Rendszer

KUTATÁSTÁMOGATÁS SOROZAT. Felhasználói segédlet Academic Search Complete adatbázisban idézők kereséséhez

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Felhasználói dokumentáció a teljesítményadó állományok letöltéséhez v1.0

Programozás II. 2. Dr. Iványi Péter

Titkosított kommunikáció. Mindenkivel. Egyszerűen.

UMN Mapserver és a Grass használata a Geológiában. Soós Dániel, Phd. Hallgató Miskolci Egyetem Geodéziai és Bányaméréstani Intézeti Tanszék

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

INFORMATIKAI ALAPISMERETEK

E-építési napló offline vezetése

Szkriptnyelvek. 1. UNIX shell

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

A WORDPRESS TELEPÍTÉSÉNEK LÉPÉSEI

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r

Bevezetés a programozásba. 8. Előadás: Függvények 2.

Programozás I gyakorlat. 10. Stringek, mutatók

Adatbázisrendszerek I. File-szintű adattárolás C-ben. 1. gyakorlat

AZ N-WARE KFT. ÁLTAL ELEKTRONIKUSAN ALÁÍRT PDF DOKUMENTUMOK HITELESSÉGÉNEK ELLENŐRZÉSE VERZIÓ SZÁM: 1.1 KELT:

BASH script programozás II. Vezérlési szerkezetek

2017/01/27 08:59 1/6 Gettext Rendszer

Nokia N97_mini (Mail for Exchange) beállítása Virtualoso levelezésre

Átírás:

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS 2015-2016 Fájlkezelés PHP-ben

Fájlok és könyvtárak kezelése 2 A PHP a Javascript-hez hasonlóan, nem képes a felhasználó merevlemezén található fájlok vagy könyvtárak írására vagy törlésére Viszont a szerver gép esetén a fenti műveleteket el tudja végezni Elérési útvonal: Linux-os /home/felhasznalo/adatok/adatok.txt Windows-os C:\Dokumentumok\adatok\adatok.txt Megj: többnyire a Linux-os változatot használjuk, ugyanis a PHP átalakítja

Fájlműveletek 3 Állományok megnyitása és bezárása Állomány használata: Megnyitás fájlazonosító hozzárendelés Állomány írása és olvasása Állomány bezárása Állományok megnyitása: az fopen() függvény Két paraméter: állomány név, megnyitási mód Visszaadja a fájl azonosítót Példa: $fm = fopen(./adatok.txt, r ); if(!$fm) die( Az allomany nem nyithato meg );

Fájlműveletek 4 Az fopen() fájlmegnyitási üzemmódjai: r: csak olvasás r+: olvasás és írás w: csak írás, ha a file nem létezik létrehozza, ha létezik felülírja(!) w+: mint az előbb, csak most olvashatunk is a: hozzáfűzés, a file végére áll a mutató, oda írhatunk, ha a file nem létezik, létrehozza a+: mint az előbb, csak most olvashatunk is Fájl bezárása: fclose() függvény Példa: fclose($fm);

Fájlműveletek: fájlok írása és olvasása 5 Fájlok olvasása: az fread() függvény Egy-egy sztringet olvas be a kívánt állományból Két paraméter: a fájlazonosító és egy egész szám, amely a kiolvasandó bájtok számát jelöli Példa: $fm = fopen(./adatok.txt, r ); $adatok = fread($fm, 10); A fenti példában 10 bájtot olvasunk ki. Az állománypozíció-jelző 10 bájttal beljebb mozgatódik

Fájlműveletek: fájlok írása és olvasása 6 Fájlok írása: az fwrite() függvény Segítségével adatokat írhatunk ki fájlokba Két paraméter: a fájlazonosító és egy sztring, amely a kiírandó szöveget tartalmazza Példa: $fm = fopen(./adatok.txt, w ); fwrite($fm, ABCxyz ); fwrite($fm, abcdefghij, 4); a megadott sztring első négy bájtját irja ki a fájlba ( abcd )

7 Oldaltalálatokat számláló program

Oldaltalálatokat számláló program 8 Ha a fájl nem létezik: Ha a fájl létezik:

9 Oldaltalálatokat számláló program: grafikus változat

10 Oldaltalálatokat számláló program: grafikus változat

Karakterek írása és olvasása: fgetc() 11 A fgetc() függvény: egy karaktert olvas be az állományból Teljes állomány feldolgozása Az feof() függvény: a megadott fájl végének az elérésekor true értéket ad vissza különben false értéket Példa:

Karakterek írása és olvasása: fgetc() 12 A találatszámláló program a fgetc() függvénnyel:

Karakterek írása és olvasása: fgets() 13 A fgets() függvény: egy karakterlánc kiolvasására használjuk Paraméterek: Fájlazonosító Kiolvasandó karakterlánc hossza Az olvasás leáll ha: Már beolvasta a megadott számú bájtot Újsor jelet talált Elérte a fájl végét

Karakterek írása és olvasása: fgets() 14 Példa: fájl kiíratása soronként A találatszámláló program a fgets() függvénnyel:

Állományok véletlenszerű elérése 15 A fájlpozíció-jelző mozgatására az fseek() függvényt használjuk Paraméterek: Fájlazonosító Eltolandó bájtok száma a fájl elejéhez viszonyítva Példa: fseek($fm, 5); $egy_kar = fgetc($fm); ftell(): a fájlpozíció aktuális értékét adja vissza rewind(): az állománypozíció-jelzőt a fájl elejére állítja vissza

Állományok véletlenszerű elérése 16 A találatszámláló program a rewind() függvénnyel:

Fájlinformációk lekérdezése 17 A fájl utolsó módosítás dátuma a fileatime() függvénnyel kérdezhető le (időbélyeg formátumban) getdate() függvény: időbélyeg kezelésére használjuk. Egy asszociatív tömböt állít elő Példa:

Az is_dir() és az is_file() függvény 18 is_dir(): igaz értéket ad vissza, ha a megadott állománynév egy könyvtárra hivatkozik is_file(): a függvény igaz értéket ad eredményül, ha a megadott állománynév egy hagyományos fájlra hivatkozik Példa:

Könyvtárak kezelése 19 Hasonlóan történik mint fájlok esetén Fontosabb utasítások: opendir(): megnyitja a könyvtárat closedir(): bezárja a könyvtárat readdir(): a megnyitott könyvtár következő bejegyzését adja vissza Példa:

20 Fájlok feltöltése

Űrlap beállítása 21 Paraméterek: ENCTYPE="multipart/form-data Megjelenítés böngészőben (FireFox, Chrome):

A fájlválasztó mező 22 A fájl kiválasztásához fájlválasztó mezőt (type= file ) használunk: Ebben az esetben csak egy állomány választható ki

Az űrlap elküldése 23 Az űrlap elküldés után a feltöltött fájl egy ideiglenes mappába kerül, az állomány jellemzői pedig a $_FILES szuperglobális tömb változóin keresztül érhetők el Példa: Array ( ) print_r($_files[ kep ]) [name] => smiley.jpeg (a fájl neve) [type] => image/jpeg (a fájl típusa) [tmp_name] => G:\xampp\tmp\phpCF80.tmp (temp. mappa) [error] => 0 (hiba kódja) [size] => 6602 (fájl méret bájtban)

A $_FILES globális tömb 24 A $_FILES globális változó tartalma: $_FILES["file"]["name"] a feltöltött fájl neve $_FILES["file"]["type"] - a feltöltött fájl típusa $_FILES["file"]["size"] - a feltöltött fájl mérete $_FILES["file"]["tmp_name"] - a feltöltött fájl ideiglenes neve $_FILES["file"]["error"] - a feltöltés folyamán jelentkező hiba

A feltöltött fájl mentése 25 Általában a feltöltött fájlt áthelyezzük az ideiglenes helyéről egy előre megadott mappába Példa: fájl áthelyezése az uploads mappába a tmp_name nevű mappából

A feltöltéssel kapcsolatos ellenőrzések 26 Ellenőrizni szoktuk: A feltöltéskor keletkező hibákat A feltöltött fájl típusát A feltöltött fájl méretét

A feltöltés sikeressége 27 A $_FILES tömbben található error mező lehetséges értékei 0: sikeres feltöltés nem nulla, ha valami gond volt (pld. 1,2: maximális fájlméret meghaladása, 3: parciális feltöltés, stb.) Példa:

A feltöltött fájl mérete 28 Fontos a fájlméret ellenőrzése, különben tetszőleges méretű fájlokkal is lehetne próbálkozni Példa: 1 MB-nál nagyobb fájlok tiltása

A feltöltött fájl típusa 29 Példa:

Több fájl feltöltése 30 Példa: Array ( [name] => Array ( [0] => smiley1.jpeg [1] => smiley2.jpeg ) [type] => Array ( [0] => image/jpeg [1] => image/jpeg ) [tmp_name] => Array ( [0] => G:\xampp\tmp\php3AA5.tmp [1] => G:\xampp\tmp\php3AA6.tmp ) [error] => Array ( [0] => 0 [1] => 0 ) [size] => Array ( [0] => 6602 [1] => 6602 ) )

Több fájl feltöltése 31 Vagy: Feldolgozás:

32 Fájlok beágyazása az include() függvénnyel Az include() függvény lehetőséget ad arra, hogy fájlt ágyazzunk be a PHP dokumentumunkba. A fájlban szereplő PHP kód úgy hajtódik végre, mintha a fődokumentum része lenne Használata: Fejlécek, láblécek, menük beszúrásánál ajánlatos használni

33 Fájlok beágyazása az include() függvénnyel (példa) menu.php index.php

34 PHP weboldal struktúrája

35 PHP sablon

36 PHP sablon

37 Weboldal könyvtár struktúra

38 Weboldal struktúra

Weboldal struktúra 39 index.php

Weboldal struktúra 40 leftnav.php

Weboldal struktúra 41 galeria.php