Πώς να χρησιμοποιήσετε την PHP για να αναγκάσετε την λήψη ενός αρχείου

Όταν το σκέφτεστε, τα προγράμματα περιήγησης ιστού είναι καταπληκτικά κατορθώματα πολύπλοκου προγραμματισμού. Είναι εργαλεία που αποτελούν μέρος της καθημερινής μας ζωής - χρησιμοποιούνται για όλα, από τον έλεγχο της κατάστασης των φίλων και της οικογένειας, την επικοινωνία με τους ανθρώπους, την πραγματοποίηση αγορών, την παρακολούθηση βίντεο, τη φροντίδα της οικονομικής ζωής μας και τόσο πολύ περισσότερο. Όπως είναι διαδεδομένη ως προγράμματα περιήγησης στη ζωή μας, η πραγματικότητα είναι ότι οι περισσότεροι άνθρωποι δεν εκτιμούν πόσο χρήσιμο είναι πραγματικά.

Στα παρασκήνια

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

Τις περισσότερες φορές, αυτό είναι ένα καλό πράγμα, καθώς μπορεί να είναι πολύ απογοητευτικό να κάνετε κλικ σε ένα σύνδεσμο προς ένα έγγραφο που θέλετε να διαβάσετε και στη συνέχεια πρέπει να περιμένετε να το κατεβάσετε και τελικά να ανοίξετε στον υπολογιστή σας. Αυτή η απογοήτευση φτάνει στο επόμενο επίπεδο όταν περιμένετε αυτό το στοιχείο λήψης, μόνο για να ανακαλύψετε ότι δεν έχετε το σωστό πρόγραμμα για να ανοίξετε το έγγραφο. Αυτές τις μέρες, αυτό συμβαίνει σπάνια επειδή οι φυλλομετρητές, πράγματι, εμφανίζουν το έγγραφο απευθείας σε γραμμή. Για παράδειγμα, τα αρχεία PDF δεν μεταφορτώνονται από προεπιλογή. Αντ 'αυτού, εμφανίζονται απευθείας στο πρόγραμμα περιήγησης ιστού παρόμοιο με τον τρόπο προβολής μιας ιστοσελίδας.

Τι γίνεται αν έχετε ένα αρχείο που θέλετε να κάνετε λήψη των χρηστών αντί να το δείτε απευθείας στο πρόγραμμα περιήγησης ιστού;

Εάν πρόκειται για ένα αρχείο HTML ή ένα PDF , δεν μπορείτε απλά να δημοσιεύσετε έναν σύνδεσμο σε αυτό το έγγραφο επειδή (όπως καλύψαμε) ένα πρόγραμμα περιήγησης στο Web ανοίγει αυτόματα τα έγγραφα αυτά και τα εμφανίζει εν σειρά. Για να κάνετε λήψη αυτών των αρχείων στον υπολογιστή ενός ατόμου, πρέπει αντ 'αυτού να κάνετε κάποια τεχνική χρησιμοποιώντας την PHP.

Η PHP σας επιτρέπει να αλλάξετε τις κεφαλίδες HTTP των αρχείων που γράφετε.

Αυτή η διαδικασία το καθιστά έτσι ώστε να μπορείτε να αναγκάσετε να κατεβάσετε ένα αρχείο το οποίο συνήθως θα φορτώνει το πρόγραμμα περιήγησης στο ίδιο παράθυρο. Αυτό είναι ιδανικό για αρχεία όπως τα αρχεία PDF, τα αρχεία εγγράφων, οι εικόνες και τα βίντεο που θέλετε να κατεβάσετε από τους πελάτες σας αντί να καταναλώσετε απευθείας από το πρόγραμμα περιήγησης απευθείας στο διαδίκτυο.

Θα χρειαστείτε PHP στο διακομιστή ιστού όπου θα φιλοξενούνται τα αρχεία σας, ένα αρχείο που θα μεταφορτωθεί και ο τύπος MIME του εν λόγω αρχείου.

Πώς να το κάνετε αυτό

  1. Μεταφορτώστε το αρχείο που θέλετε να διαθέσετε για λήψη στο διακομιστή ιστού σας. Για παράδειγμα, λέτε ότι έχετε ένα αρχείο PDF που θέλετε να κάνουν οι χρήστες να κάνουν λήψη όταν κάνουν κλικ σε έναν σύνδεσμο. Αρχικά, θα μεταφορτώσατε αυτό το αρχείο στο περιβάλλον φιλοξενίας του ιστότοπού σας.
    huge_document.pdf
  2. Επεξεργαστείτε ένα νέο αρχείο PHP στον επεξεργαστή ιστού σας - για ευκολία χρήσης, συνιστούμε να ονομάσετε το ίδιο όνομα με το αρχείο που έχετε κατεβάσει, μόνο με την επέκταση .php. Για παράδειγμα:
    huge_document.php
  3. Ανοίξτε το μπλοκ PHP στο έγγραφό σας:
  4. Στην επόμενη γραμμή, ορίστε την κεφαλίδα HTTP:
    κεφαλίδα ("Περιεχόμενο-διάθεση: συνημμένο, όνομα_αρχείου = τεράστιος_document.pdf");
  5. Στη συνέχεια, ορίστε τον τύπο MIME του αρχείου:
    κεφαλίδα ("Τύπος περιεχομένου: εφαρμογή / pdf").
  6. Δείξτε στο αρχείο που θέλετε να κάνετε λήψη:
    readfile ("huge_document.pdf");
  7. Στη συνέχεια, κλείστε το μπλοκ PHP και αποθηκεύστε το αρχείο:
    ?>
  1. Το αρχείο PHP πρέπει να έχει την εξής μορφή:
    κεφαλίδα ("Περιεχόμενο-διάθεση: συνημμένο, όνομα_αρχείου = τεράστιος_document.pdf");
    κεφαλίδα ("Τύπος περιεχομένου: εφαρμογή / pdf").
    readfile ("huge_document.pdf");
    ?>
  2. Σύνδεση στο αρχείο PHP ως σύνδεσμος λήψης από μια ιστοσελίδα. Για παράδειγμα:
    Κατεβάστε το τεράστιο έγγραφό μου (PDF)

Δεν πρέπει να υπάρχουν διαστήματα ή μεταφορές που να επιστρέφουν σε οποιοδήποτε σημείο του αρχείου (εκτός από ένα ημικύκλιο). Οι κενές γραμμές θα προκαλέσουν την προεπιλογή της PHP στο κείμενο MIME text / html και το αρχείο σας δεν θα μεταφορτωθεί.