Εγγραφή εισαγωγής σε μεταβλητή σε PHP
Ας υποθέσουμε ότι έχουμε ένα συγκεκριμένο αρχείο:
<div>
<?= 'test' ?>
</div>
Ας γράψουμε το κείμενο του αρχείου μας σε μια μεταβλητή στο κύριο αρχείο:
<?php
$res = file_get_contents('test.php');
?>
Ωστόσο, θα έχουμε ένα πρόβλημα - κατά την εγγραφή στη μεταβλητή, ο PHP κώδικας του αρχείου μας δεν θα εκτελεστεί.
Για να εκτελεστεί ο PHP κώδικας του αρχείου που εισάγεται,
πρέπει να χρησιμοποιήσετε τον τελεστή
include. Το πρόβλημα, ωστόσο, είναι ότι
αυτός ο τελεστής εμφανίζει αμέσως τα δεδομένα
στην οθόνη, επομένως το αποτέλεσμα της σύνδεσης δεν μπορεί
να γραφτεί σε μια μεταβλητή.
Αλλά αυτό μπορεί τελικά να γίνει, εάν χρησιμοποιήσετε ένα έξυπο τέχνασμα:
<?php
ob_start();
include 'test.php';
$res = ob_get_clean();
?>
Ας οργανώσουμε τον κώδικα του τεχνάσματος σε μια συνάρτηση:
<?php
function getFile($name) {
ob_start();
include $name;
return ob_get_clean();
}
?>
Ας χρησιμοποιήσουμε τη συνάρτησή μας για να λάβουμε το αρχείο σε μια μεταβλητή:
<?php
$res = getFile('test.php');
echo 'index' . $res;
?>
Δημιουργήστε ένα αρχείο που θα παράγει από έναν πίνακα ημερών μια αναπτυσσόμενη λίστα ημερών της εβδομάδας. Γράψτε το αποτέλεσμα σε μια μεταβλητή στο κύριο αρχείο σας. Εμφανίστε αυτή τη μεταβλητή σε διάφορα σημεία του αρχείου.