PHP 2. Στόχος της ώρας Εμβάθυνση στην PHP: Χωρισμός κώδικα σε αρχεία Εμβέλεια μεταβλητών Πίνακες foreach Συναρτήσεις αρχείων Χειρισμός ανεβασμένου αρχείου.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Το αλφαριθμητικό (string)
Advertisements

ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP. Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να.
5η Συνάντηση Εκπαιδευτικών Πληροφορικής στη Δυτική Μακεδονία Πτολεμαΐδα, 29 Σεπτ 2005 Δημιουργία Δυναμικών Ιστοσελίδων με PHP και Dreamweaver MX Στυλιάδης.
POINTERS, AGGREGATION, COMPOSITION. POINTERS TO OBJECTS.
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 1ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 5 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Σημειώσεις : Χρήστος Μουρατίδης
Εκκίνηση του MATLAB.
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Τύποι πραγματικών αριθμών
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα.
Φροντηστήριο Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Eργαλεία.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Ολυμπιάδα Πληροφορικής
ΕΣΔ 232: Οργάνωση δεδομένων στην Κοινωνία της Πληροφορίας © 2013 Nicolas Tsapatsoulis Φόρμες Δημιουργία Περιεχομένου Ι.
ΣΥΝΑΡΤΗΣΕΙΣ.
ΕΝΟΤΗΤΑ 3 – MS Windows – Περιβάλλον εργασίας
Microsoft Excel 4.4 Τύποι και Συναρτήσεις
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
Εργασία με παράθυρα.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων Φροντιστήριο - 30/04/2009.
Lists– Λίστες 1. Αυτό-αναφορικές δομές Τα μέλη μίας δομής μπορεί να είναι οποιουδήποτε τύπου, ακόμα και δείκτες σε δομές του ίδιου τύπου. Χρησιμοποιώντας.
PHP/MYSQL ΠΑΡΟΥΣΙΑΣΗ ΣΤΑ ΠΛΑΙΣΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΟΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ-ΜΗΧΑΝΗΣ ΤΥΡΟΛΟΓΟΥ ΓΛΥΚΕΡΙΑ ΑΜ 875 ΡΙΖΟΥ ΔΕΣΠΟΙΝΑ ΑΜ 816.
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 8: Πίνακας Συμβόλων Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας.
Κεφάλαιο 10 – Υποπρογράμματα
Κάντε κλικ για έναρξη… Τ Ο ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ Κέντρο εντολών Χώρος γραφικών (σελίδα) Χώρος σύνταξης διαδικασιών.
Κουλίνας Μιχαήλ Α.Μ.:774 Μπουρνάζης Χρήστος Α.Μ.:792 Ρογκάκος Γεώργιος Α.Μ.:817.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Tomcat Θ. Βαρβαρίγου Καθηγήτρια ΕΜΠ Τηλ
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές.
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Αρχεία.
ΘΠ06 - Μεταγλωττιστές Ενδιάμεσος Κώδικας – Μεταφραστικά Σχήματα.
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
Asynchronous Javascript And XML (AJAX) Γιώργος Θάνος Παρασκευή 21 Νοεμβρίου 2008.
Μερικές φορές το αποτέλεσμα εμφανίζεται αμέσως από κάτω.
HTML-PHP Καμπέρης Άρης Α.Μ. 763 Zaher Owda Α.Μ. 849.
Βασικά στοιχεία της Java
Κεφάλαιο 3 Τύποι Δεδομένων - Τελεστές. Πρωτογενείς τύποι δεδομένων: int, float, double, chars ΤύποςΌνομαΜέγεθος byte 8-bit signed, short 16-bit.
Δικτυα.
ΔΟΜΗ. Στόχος της ώρας Δόμηση κώδικα Συνεργασία σε ομάδες Χωρισμός σε αρχεία Στυλ κώδικα Front-end και back-end Το πρότυπο MVC.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα.
Ξεχωριστή Μεταγλώττιση & Χώροι Ονομάτων Αντικειμενοστραφής Προγραμματισμός.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Μάθημα 8 Session και Cookies. Session Το HTTP πρωτόκολλο είναι stateless. Άρα το HTTP δεν έχει μνήμη. Αυτό σημαίνει ότι εάν έχω μια μεταβλητή που την.
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εφαρμογές Υπολογιστών
Ενισχυτική διδασκαλία
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
1. Πώς ανοίγουμε ένα αποθηκευμένο βιβλίο εργασίας;
Πίνακας Συμβόλων Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής.
Web Services στη C# Εργαστήριο 3
1)Αφού ακολουθήσουμε τον σύνδεσμο βρισκόμαστε εδώ
Server-side vs Client-side
Μεταγράφημα παρουσίασης:

PHP 2

Στόχος της ώρας Εμβάθυνση στην PHP: Χωρισμός κώδικα σε αρχεία Εμβέλεια μεταβλητών Πίνακες foreach Συναρτήσεις αρχείων Χειρισμός ανεβασμένου αρχείου Μπισκότα Σύνοδοι

Εμβέλεια μεταβλητών Είναι η περιοχή στην οποία ορίστηκε η μεταβλητή Οι μεταβλητές έξω από τις συναρτήσεις δεν είναι διαθέσιμες σε αυτές $a = 5; function foo(){ echo $a; //Λάθος }

Εμβέλεια μεταβλητών Οι μεταβλητές είναι διαθέσιμες στα αρχειά που φορτώνονται $a = 1; include 'b.php’; // Το $a είναι διαθέσιμο στο b.php

Εμβέλεια μεταβλητών Λέξη-κλειδί global Χρησιμοποιείται μέσα σε συναρτήσεις Δηλώνει ότι οι μεταβλητές που δηλώνονται ανήκουν έξω από τη συνάρτηση $a = 5; function foo(){ global $a; echo $a; //5 }

Κεφαλίδες header() Παίρνει παράμετρο ένα string Το στέλνει στις κεφαλίδες της απάντησης Πρέπει να τρέξει πριν οποιοδήποτε Output Πριν το Πριν οποιοδήποτε space, enter, tab

Κεφαλίδες <?php /* ΛΑΘΟΣ Υπάρχει output πριν το header()*/ header( 'Location: ); ?>

Κεφαλίδες header( 'Location: ); Κάνει redirect τον browser στη διεύθυνση που ορίζουμε Η διεύθυνση πρέπει να είναι απόλυτη διεύθυνση Προκαλεί και την αλλαγή του κωδικού κατάστασης από 200 ΟΚ σε 302 FOUND

Κεφαλίδες header( 'Content-type: text/html; charset=utf-8‘ ) Κάνει την ίδια δουλειά που κάνει και το <meta http-equiv=“Content-type” content=“text/html; charset=utf-8” />

Μπισκότα Χρησιμοποιούνται κυρίως για να ξεχωρίζουν χρήστες Είναι μία λίστα από αντιστοιχίες κλειδί  τιμή Έχουν ημερομηνία λήξης Αποθηκεύονται στον υπολογιστή του χρήστη

Μπισκότα Στέλνονται σε κάθε αίτημα Όσο περισσότερα είναι τόσο περισσότερο overhead έχουμε Διαφορετικά μπισκότα για διαφορετικά domains Είναι πολύτιμα! Αν σου τα κλέψει κάποιος τότε γίνεται εσύ

Παράδειγμα Γεια! Γεια, να θυμάσαι ότι είσαι admin Είμαι είμαι admin ΟΚ, κάνε ό,τι θες admin

Μπισκότα – Πως μοιάζουν; GET /spec.html HTTP/1.1 Host: Cookie: name=value&name2=value2 Accept: */* Εδώ 2 μπισκότα Μπισκότο name με τιμή value Μπισκότο name2 με τιμή value2 HTTP αίτημα Κεφαλίδα μπισκότων Μπισκότα. Ίδια μορφή με GET παραμέτρους Όνομα κεφαλίδας

Μπισκότα Μεταφέρονται στις κεφαλίδες των αιτημάτων Για να ορίσουμε ένα cookie σε ένα χρήστη κάνουμε: setcookie( $name, $value, $expire ) Πρέπει να τρέξει πριν οποιοδήποτε output συμπεριλαμβανομένου και του

Μπισκότα setcookie( $name, $value, $expire ) Αν το expire είναι 0 τότε το μπισκότο σβήνεται όταν κλείσει ο browser Όνομα μεταβλητής Τιμή μεταβλητής Ημερομηνία λήξης

Μπισκότα setcookie( ‘name’, ‘petros’, time() ) time()  επιστρέφει την ώρα σε μορφή Unix timestamp Λήγει σε 3600 δευτερόλεπτα από τώρα Θα λήξει σε μία ώρα

Μπισκότα Βρίσκονται στη μεταβλητή $_COOKIE Έχει κλειδιά τα ονόματα των μπισκότων Έχει τιμές τις τιμές των μπισκότων

Μπισκότα – Διαγραφή Αρκεί ο ορισμός του μπισκότου με expire στο παρελθόν setcookie( ‘name’, ‘petros’, time() – 3600 ) Έληξε πριν μία ώρα

Μπισκότα – παράδειγμα <?php $expire = time() + 60 * 60 * 24 * 7; setcookie( ‘visited’, ‘true’, $expire ); if ( isset( $_COOKIE[ ‘visited’ ] ) ) { echo ‘Welcome back!’; } else { echo ‘Hello, stranger’; } ?>

Σύνοδοι Βολική λειτουργία της PHP Αντί να έχουμε πολλά μπισκότα έχουμε ένα Το μπισκότο λέγεται Session ID Είναι ένας τυχαίος αριθμός Ορίζεται την πρώτη φορά που ανοίγει κάποιος τη σελίδα Διαφορετικό για κάθε χρήστη Με βάση αυτό αποθηκεύονται στον server μεταβλητές Τις διαχειρίζεται η PHP για μας

Σύνοδοι session_start() Αρχίζει μία σύνοδο ή επαναφέρει την προηγούμενη αν ο χρήστης έστειλε έγκυρο Session ID Επειδή ορίζει μπισκότο την καλούμε πριν οποιοδήποτε output

Σύνοδοι Μεταβλητή $_SESSION Τη χρησιμοποιούμε αφού καλέσουμε το session_start() Οι μεταβλητές αποθηκεύονται και θα είναι διαθέσιμες σε επόμενα αιτήματα με το ίδιο Session ID

Παράδειγμα Γεια! Γεια, όταν μου μιλάς θα μου λες ότι είσαι ο 532 Είμαι ο 532, με λένε Πέτρο ΟΚ 532 – Πέτρος 943 – Γιώργος 453 – Νίκος 943 – Γιώργος 453 – Νίκος SID – 532

Παράδειγμα Είμαι ο 532, γεια! Γεια σου Πέτρο Είμαι ο 324 Δε σε ξέρω 532 – Πέτρος 943 – Γιώργος 453 – Νίκος 532 – Πέτρος 943 – Γιώργος 453 – Νίκος SID – 532 SID – 324

Παράδειγμα κώδικα <?php session_start(); if ( isset( $_SESSION[ ‘pageviews’ ] ) ) { ?> Έχεις δει τη σελίδα <?php echo $_SESSION[ ‘pageviews’ ]; ?> φορές <?php ++$_SESSION[ ‘pageviews’ ]; } else { $_SESSION[ ‘pageviews’ ] = 1; } ?>

4 η Εργασία Παράδοση μέσω SSH (Secure SHell) Ανεβάστε.php,.html,.css, εικόνες κλπ. στο home σας Μέχρι 22/11/2010 Να δημιουργήσετε ένα file uploader Μία σελίδα Λίστα όλων των αρχείων που έχουν ανέβει Κλικ για κατέβασμα αρχείου Πλαίσιο για ανέβασμα αρχείου Ένα επιπλέον αρχείο.php για διαχείριση ανεβάσματος

Συναρτήσεις χειρισμού μεταβλητών unset Παίρνει παράμετρο μία μεταβλητή Αν είναι ορισμένη την διαγράφει

Συναρτήσεις χειρισμού μεταβλητών <?php // Διαγραφή μιας μεταβλητής unset( $foo ); // Διαγραφή περισσότερων μεταβλητών unset($foo1, $foo2, $foo3); ?>

Συναρτήσεις χειρισμού μεταβλητών isset Παίρνει παράμετρο μία μεταβλητή Αν είναι ορισμένη και δεν είναι NULL επιστρέφει true Αν είναι ορισμένη και είναι NULL επιστρέφει false Αν δεν είναι ορισμένη επιστρέφει false

Συναρτήσεις χειρισμού μεταβλητών empty Παίρνει παράμετρο μία μεταβλητή Αν δεν είναι ορισμένη επιστρέφει true Αν είναι ορισμένη και δεν έχει τιμή επιστρέφει true Αν είναι ορισμένη και έχει τιμή επιστρέφει false

Συναρτήσεις χειρισμού μεταβλητών Τα παρακάτω θεωρούνται άδειες μεταβλητές "" (άδειο string) 0 (0 ως ακέραιος) "0 " (το string με τον χαρακτήρα 0) NULL FALSE array() (ένας άδειος πίνακας) var $var; (μία μεταβλητή που ορίστηκε χωρίς τιμή)

Χάρτες Είναι τύπος δεδομένων Περιέχει αντιστοιχίες Αντιστοιχίζει κλειδί  τιμή Μπορεί να χρησιμοποιηθεί ως πίνακας, λίστα, ουρά, στοίβα κλπ

Πίνακες Στην PHP είναι ταξινομημένοι χάρτες με βάση τα κλειδιά Τα κλειδιά μπορεί να είναι ακέραιος ή string Οι τιμές μπορεί να είναι οτιδήποτε

Πίνακες Δημιουργία πίνακα με την εντολή array() //Πίνακας με 2 στοιχεία //Κλειδί 0 έχει τιμή 1 //Κλειδί 1 έχει τιμή ‘bar’ $foo = array( 0 => 1, 1 => ‘bar’ ); echo $foo[ 0 ]; // 1 echo $foo[ 1 ]; // bar

Πίνακες Παράλειψη κλειδιών Το στοιχείο έχει ως κλειδί το μέγιστο ακέραιο κλειδί +1 //Πίνακας με 2 στοιχεία //Κλειδί 0 έχει τιμή 1 //Τιμή ‘bar’ $foo = array( 0 => 1, ‘bar’ ); echo $foo[ 0 ]; // 1 echo $foo[ 1 ]; // bar

Πολυδιάστατοι Πίνακες Τόσο απλό όσο ένα array() σε ένα array() //Πίνακας 3x3 $foo = array( array( 1, 2, 3 ), array( 4, 5, 6 ), array( 7, 8, 9 ) ); echo $foo[ 1 ][ 2 ]; // 6 echo $foo[ 2 ][ 0 ]; // 7

Πίνακες – Σύνταξη αγκύλων $foo[ ‘κλειδί’ ] = τιμή Αν το $foo δεν έχει οριστεί δημιουργείται πίνακας Αν το $foo[ ‘κλειδί’ ] υπάρχει η τιμή αντικαθίσταται $foo[] = τιμή Προσθέτει την τιμή με κλειδί το μέγιστο ακέραιο κλειδί +1 Αν το $foo δεν υπάρχει δημιουργείται πίνακας

Πίνακες – Διαγραφή στοιχείου Γίνεται με την συνάρτηση unset Ο πίνακας δε γίνεται reindex Αν επιθυμούμε reindex το κάνουμε με την συνάρτηση array_values

Πίνακες διαγραφή στοιχείου $arr = array( 1 => 1, 2 => 2, 3 => 3 ); unset( $arr[ 2 ] ); /*$arr = [ $arr= [ 1 => 1, και OXI 1 => 1, 3 => 3, 2 => 3 ] ] */

Χρήσιμες συναρτήσεις πίνακα Όνομα συνάρτησης Περιγραφή count Επιστρέφει τον αριθμό των στοιχείων σε ένα πίνακα array_flip Κάνει τις τιμές κλειδιά και τα κλειδιά τιμές array_pop Αφαιρεί και επιστρέφει το τελευταίο στοιχείο array_push Βάζει στοιχεία στο τέλος του πίνακα array_splice Κόβει ένα κομμάτι και το αντικαθιστά με κάτι άλλο array_search Ψάχνει στον πίνακα για την τιμή που δίνουμε Και πολλές άλλες! Ψάξτε τες στο και το function namehttp://php.net/ πχ

foreach Συνδυάζεται με κάποιο πίνακα Τρέχει ένα σώμα κώδικα για κάθε στοιχείο του πίνακα Σύνταξη: foreach ( $array as $value ) { σώμα } Κάθε φορά το $value περιέχει την τιμή του τρέχοντος στοιχείου

foreach Αν αλλάξει το $value ΔΕΝ αλλάζει ο πίνακας $array = array ( 1, 2, 3 ); foreach ( $array as $value ) { $value = 0; } echo $array[ 0 ]; // 1

foreach Ενναλακτική μορφή foreach ( $array as $key => $value ) { σώμα } Το $key περιέχει το κλειδί του τρέχοντος στοιχείου Το $value περιέχει την τιμή του τρέχοντος στοιχείου

foreach $fruits = array( ‘banana’ => ‘yellow’, ‘apple’ => ‘red’, ); foreach ( $fruits as $fruit => $color ) { echo $fruit. “’s color is $color\n”; } /* banana’s color is yellow apples’s color is red */

foreach – πολυδιάστατοι πίνακες $matrix = array( array( 1, 2, 3 ), array( 4, 5, 6 ), array( 7, 8, 9 ), ); foreach ( $matrix as $row ) { foreach ( $row as $element ) { echo “$element “; } echo “\n”; }

Χωρισμός αρχείων Μπορούμε να φορτώσουμε τον κώδικα ενός αρχείου σε ένα άλλο αρχείο Βοηθάει στην οργάνωση κώδικα Επαναχρησιμοποιούμενος κώδικας

Χωρισμός αρχείων include Σύνταξη include ‘library.php’; Τρέχει τον κώδικα του αρχείου library.php Αν δε βρει το αρχείο παράγει προειδοποίηση και συνεχίζει Είναι το ίδιο με το να κάναμε c/p τον κώδικα του αρχείου στη θέση του include

Χωρισμός αρχείων include_once Σύνταξη include_once ‘library.php’; Παρόμοιο με το include Τρέχει τον κώδικα μόνο την πρώτη φορά που φορτώνει ένα αρχείο

Χωρισμός αρχείων require Σύνταξη require ‘library.php’; Παρόμοιο με το include Αν δε βρει το αρχείο δε συνεχίζει η εκτέλεση, παράγεται error

Χωρισμός αρχείων require_once Σύνταξη require_once ‘library.php’; Παρόμοιο με το require Τρέχει τον κώδικα μόνο την πρώτη φορά που φορτώνει ένα αρχείο

Χωρισμός αρχείων Παραδείγματα Φόρτωση βιβλιοθήκης συναρτήσεων Φόρτωση Header και Footer σελίδας

Τελεστές απόλυτης σύγκρισης $a === $b Είναι true μόνο αν το $a είναι ίσο με το $b και είναι του ίδιου τύπου $a = 1; $b = ‘1’; $a == $b //true $a === $b //false

Τελεστές απόλυτης σύγκρισης $a !== $b Είναι true μόνο αν το $a δεν είναι ίσο με το $b ή είναι διαφορετικού τύπου $a = 1; $b = ‘1’; $a != $b //false $a !== $b //true

Συναρτήσεις αρχείων opendir() Ανοίγει φακέλους Μία παράμετρο, τη θέση του φακέλου Επιστρέφει τιμή που χρησιμοποιείται από readdir() closedir() rewinddir() Αν αποτύχει επιστρέφει false

Συναρτήσεις αρχείων readdir() Μία παράμετρο, την τιμή της opendir() Επιστρέφει το όνομα του επόμενου αρχείου στον φάκελο Αν αποτύχει επιστρέφει false

Συναρτήσεις αρχείων closedir() Μία παράμετρο, την τιμή της opendir() Κλείνει τον φάκελο Την καλούμε όταν τελειώσουμε με κάποιο Αν αποτύχει επιστρέφει false

Συναρτήσεις αρχείων Εκτύπωση περιεχομένων φακέλου $handle = opendir( '/path/to/files‘ ) ); while ( false !== ( $file = readdir( $handle ) ) ) { echo "$file\n"; }

Συναρτήσεις αρχείων file_get_contents() Μία παράμετρο, το αρχείο Διαβάζει το αρχείο και επιστρέφει τα περιεχόμενά του Αν αποτύχει επιστρέφει false

Συναρτήσεις αρχείων file_put_contents() Δύο παράμετροι Το αρχείο Τα περιεχόμενα Αποθηκεύει στο αρχείο τα περιεχόμενα. Αντικαθιστά τα προηγούμενα

Συναρτήσεις αρχείων Υπάρχουν και οι συναρτήσεις fopen fwrite fclose fgets κλπ Ψάξτε τες όταν τις χρειαστείτε!

Ανέβασμα αρχείων Στέλνονται στον server με αίτημα POST Αποθηκεύονται σε προσωρινή θέση όσο τρέχει το πρόγραμμά μας Αν δεν τα αποθηκεύσουμε χάνονται μετά το τέλος της εκτέλεσης

Ανέβασμα αρχείων Send this file: Με βάση αυτό βρίσκουμε τα αρχεία στην PHP

Ανέβασμα αρχείων Μεταβλητή $_FILES Περιέχει όλα τα αρχεία που ανέβασε ο χρήστης $_FILES[ ‘userfile’ ][ ‘name’ ] Περιέχει το πραγματικό όνομα του αρχείου $_FILES[ ‘userfile’ ][ ‘tmp_name’ ] Περιέχει τη θέση του προσωρινού αρχείου $_FILES[ ‘userfile’ ][ ‘size’ ] Περιέχει το μέγεθος του αρχείου σε bytes

Ανέβασμα αρχείων move_uploaded_file( $filename, $destination ) Ελέγχει αν το $filename έχει όντως προέλθει από ανέβασμα Αν είναι το αποθηκεύει στο $destination

Ανέβασμα αρχείων <?php $destination = ‘C:\Uploads\’ if( !empty( $_FILES ) ) { $destination.= $_FILES[ ‘foo’ ][ ‘name’ ]; $filename = $_FILES[ ‘foo’ ][ ‘tmp_name’ ]; move_uploaded_file( $filename, $destination ); } ?>

Μάθαμε Εμβάθυνση στην PHP: Χωρισμός κώδικα σε αρχεία Εμβέλεια μεταβλητών Πίνακες foreach Συναρτήσεις αρχείων Χειρισμός ανεβασμένου αρχείου Μπισκότα Σύνοδοι