Έλεγχος ολοκλήρωσης λήψης αρχείου.

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

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

Απάντηση
nikos-manias
Δημοσιεύσεις: 38
Εγγραφή: 15 Ιαν 2010 10:13

Έλεγχος ολοκλήρωσης λήψης αρχείου.

Δημοσίευση από nikos-manias » 16 Μαρ 2010 17:02

Γειά σε όλους!

Έχω γράψει ένα script στο οποίο οδηγούν κάποια link από΄τη σελίδα μου και επιτρέπει το κατέβασμα αρχείων.
Συγκεκριμένα,το ονομα του αρχείου περνιέται με τη μέθοδο GET.
Όλα δουλεύουν κανονικά.

Τώρα θέλω να συμπεριλάνω και μια λειτουργία ενημέρωσης στέλνοντας email σε κάθε κατέβασμα.
Το πρόβλημα είναι ότι μόλις ο χρήστης επιλέξει ότι θέλει να αποθηκεύσει το αρχείο (πριν καν ξεκινησει το download δλδ) το script oloklhρώνει την εκτέλεσή του και το email αποστέλλεται, ακόμα και αν το download διακοπεί από το χρήστη ή για οποιοδήποτε άλλο λόγο.

Υπάρχει τρόπος να ελέγξω αν και πότε έχεο ολοκληρωθεί το download ώστε να καλέσω μετά την mail?


Παρακάτω είναι ο κυρίως κώδικας που αποστέλλει το αρχείο.
Σας ευχαριστώ!!!!



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

if (file_exists($path) && is_readable($path)) 
		{

			// get the file size and send the http headers
			$size = filesize($path);
			header('Content-Type: application/octet-stream');
			header('Content-Length: '.$size);
			header('Content-Disposition: attachment; filename='.$filename);
			header('Content-Transfer-Encoding: binary');
			
			// open the file in binary read-only mode
			// display the error messages if the file can´t be opened
			$file = @ fopen($path, 'rb');

			if ($file) 
			{

				// stream the file and exit the script when complete
				fpassthru($file);


				$content="content";

				mail($email,$subject,$content);


				exit;
			}


 

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Έλεγχος ολοκλήρωσης λήψης αρχείου.

Δημοσίευση από Alice_Cooper » 17 Μαρ 2010 23:40

apo to php.net

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

if(!move_uploaded_file($_FILES['attachement']['tmp_name'], $uploadfile)) { 

echo '<pre> 
Your file was not uploaded please try again 
here are your debug informations&#58; 
'.print_r&#40;$_FILES&#41; .' 
</pre>'; 

      &#125; else &#123; 

          echo 'image succesfully uploaded!'; 

      &#125;

Απάντηση

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

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

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