Πως θα κάνω download κάποιο αρχείο με php

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
mvagelis
Δημοσιεύσεις: 17
Εγγραφή: 09 Μαρ 2009 10:03

Πως θα κάνω download κάποιο αρχείο με php

Δημοσίευση από mvagelis » 16 Απρ 2009 00:57

Μήπως μπορεί κάποιος να βοηθήσει στο παρακάτω :

Το πως κάνω upload ένα αρχείο από το τερματικό του χρήστη στον server είναι γνωστό.
Πως όμως μπορώ να μεταφέρω ένα αρχείο από ένα φάκελο του server στο τερματικό του χρήστη ??

Παρακαλώ όποιος μπορεί ας βοηθήσει.

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

Ευχαριστώ

Fallen
Δημοσιεύσεις: 7
Εγγραφή: 02 Ιαν 2008 15:09

Πως θα κάνω download κάποιο αρχείο με php

Δημοσίευση από Fallen » 16 Απρ 2009 01:38

Απλά βάζεις το αρχείο σε ένα φάκελο μέσα στη σελίδα σου ή χύμα κ το κάνεις redirect τη σελίδα του χρήστη.


Πχ.

Έστω έχουμε το αρχείο test.xml στο home directory.
Κάνεις redirect τη σελίδα του χρήστη όπως φαίνεται παρακάτω..

http://www.yourdomain.com/test.xml

mvagelis
Δημοσιεύσεις: 17
Εγγραφή: 09 Μαρ 2009 10:03

Πως θα κάνω download κάποιο αρχείο με php

Δημοσίευση από mvagelis » 16 Απρ 2009 01:54

Ευχαριστώ πρώτα απ΄όλα για την απάντηση. Θα πρέπει όμως να αποθηκεύσει το αρχείο αυτό στον υπολογιστή του

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Πως θα κάνω download κάποιο αρχείο με php

Δημοσίευση από dva_dev » 16 Απρ 2009 11:12

Αυτό είναι στην επιλογή του χρήστη.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Πως θα κάνω download κάποιο αρχείο με php

Δημοσίευση από korgr » 16 Απρ 2009 11:46

Κατ' αρχην δημιούργησε στον φακελο που εχεις και τα αλλα αρχεια σου ενα php αρχειο με ονομα download.php και με περιεχόμενο το:

Κώδικας: Επιλογή όλων

<?
$filename = $_GET&#91;'file'&#93;;
if&#40;ini_get&#40;'zlib.output_compression'&#41;&#41;
  ini_set&#40;'zlib.output_compression', 'Off'&#41;;
$file_extension = strtolower&#40;substr&#40;strrchr&#40;$filename,"."&#41;,1&#41;&#41;;
if&#40; $filename == "" &#41; &#123;
  echo "<html><body>ERROR&#58; download file NOT SPECIFIED</body></html>";
  exit;
&#125; elseif &#40; ! file_exists&#40; $filename &#41; &#41; &#123;
  echo "<html><body>ERROR&#58; File not found.</body></html>";
  exit;
&#125;;
$ctype="application/force-download";
header&#40;"Pragma&#58; public"&#41;; 
header&#40;"Expires&#58; 0"&#41;;
header&#40;"Cache-Control&#58; must-revalidate, post-check=0, pre-check=0"&#41;;
header&#40;"Cache-Control&#58; private",false&#41;; 
header&#40;"Content-Type&#58; $ctype"&#41;;
header&#40;"Content-Disposition&#58; attachment; filename=\"".basename&#40;$filename&#41;."\";" &#41;;
header&#40;"Content-Transfer-Encoding&#58; binary"&#41;;
header&#40;"Content-Length&#58; ".filesize&#40;$filename&#41;&#41;;
readfile&#40;"$filename"&#41;;
exit&#40;&#41;;
?>
στη συνεχεια στο αρχειο σου οπου διαβαζεις τη βαση, μετα την δημιουργια του xml, αποθηκευσε το filename (μαζι με το path αν δεν είναι στον ιδιο φακελο) σε μια μεταβλητη $fileToDownload (πχ $fileToDownload = "downloads/results.xml")
Τέλος χρησιμοποίησε μια header Location για το redirect

Κώδικας: Επιλογή όλων

<?
// ο κώδικας σου που εχει ηδη δημιουργησει το xml file στον server...

$fileToDownload = "downloads/results.xml";
header&#40;"Location&#58; download.php?file=".$fileToDownload&#41;;
?>
Τελευταία επεξεργασία από το μέλος korgr την 16 Απρ 2009 18:17, έχει επεξεργασθεί 1 φορά συνολικά.

mvagelis
Δημοσιεύσεις: 17
Εγγραφή: 09 Μαρ 2009 10:03

Πως θα κάνω download κάποιο αρχείο με php

Δημοσίευση από mvagelis » 16 Απρ 2009 15:22

Ευχαιστώ :clap: :clap: θα το δοκιμάσω !!!! και θα σας απαντήσω.....

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Πως θα κάνω download κάποιο αρχείο με php

Δημοσίευση από korgr » 16 Απρ 2009 18:18

Υπηρχε μια ξεχασμενη παρενθεση στο $fileToDownload = "downloads/results.xml"; και το διορθωσα με edit στο προηγούμενο post μου. Προσεξε το...

mvagelis
Δημοσιεύσεις: 17
Εγγραφή: 09 Μαρ 2009 10:03

Πως θα κάνω download κάποιο αρχείο με php

Δημοσίευση από mvagelis » 22 Απρ 2009 00:38

korgr έγραψε:Υπηρχε μια ξεχασμενη παρενθεση στο $fileToDownload = "downloads/results.xml"; και το διορθωσα με edit στο προηγούμενο post μου. Προσεξε το...

Παιδιά ευχαριστώ πολύ. Δούλεψαν όλα. :kaloe: :kaloe: :kaloe: Είμαι πολύ χαρούμενος. Να είστε καλά !!! :lol: :lol:

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες