Jump to content
php.lv forumi

File download check


laurisnet

Recommended Posts

Sveicinati,

 

 

Jautājums sekojošs:

 

Tātād, ar hederi aizvedu lietotāju uz faila atrašanās vietu, kā ierasts browseris piedāvā kur saglabāt failu vai arī to atvērt.

Pieņemsim, ka lietotājs izvēlas saglabāt un notiek ielāde.

 

Kā un vai maz ir iespējams ar php pārbaudīt vai šis lietotājs šo failu vēl downloadē vai tas jau ir nokačāts?

 

Man funktieri ir tāds, ka to takā varētu tādā veidā izdarīt, pārbaudīt vai fails ir atvērts lasīšanai, ja ir tad takā vēl kopējas, ja nē, tad pabeigts kopēt.

Vai šis variants nostrādās, varbūt kāds ir ko līdzīgu taisijis vai saskāries ar ko līdzīgu?

 

Varbūt kādi citi risinājumi?

 

Pateicos jau iepriekš.

Link to comment
Share on other sites

Ar PHP pārbaudīt vai sūtās var šādi:

http://lv.php.net/manual/en/features.connection-handling.php

 

 

Ok, bet piemēram ja lietoju šīs savienošanās funkcijas, tad viņas jau darbojas tikai tādā veidā, ja browseris ir aizvērts tad ziņo ka nav savienojuma.

 

<?php

echo str_repeat(" ",300);

ignore_user_abort(true); //this way, the user can stop the output, but not the script.

while (true) {

echo "test<br>\n";

flush();

sleep(2);

if (connection_status()!=0){

mail("lietotajs@domens.lv","file downloaded", "file downloaded");

die(); //kills the script

}

}

?>

 

Bet manā gadījumā ir tā, ka ir forma un ir zināma faila atrašanās vieta.

Formā action="" ir konkrētā faila ceļš.

 

 

Izskatās, ka šeit vienīgais darbojošais veids būtu php failā uzģenerēt faila hederus un pa taisno bināri lasīt failu un sūti to uz browseri, tad šis skripts nostrādātu.

Tikai tur problēma tāda, ka šie failu formāti var būt visi, bet ierobežojumiem un visus uzskaitīt masīvā arī nebūtu prāta darbs.

 

Varbūt tomēr kaut kā ir iespējams šo skriptu piesiet pie tā faila.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...