ugrás a tartalomhoz

Fájl letoltes

lrobert · 2001. Okt. 4. (Cs), 16.44
Hogyan tudom azt megcsinalni, hogy a felhasznalo ne lassa, hogy honnan tolti le a
fajlt a weblaprol ?
Plíííz help ! :t :t
 
1

Re: Fájl letoltes

Benjamin · 2001. Okt. 6. (Szo), 20.01
HI!

ugy ha egy PHP script kuldi ki a file-t azaz:
- megnyitja
- kikuldi a megfelelo headert
- elkezdi olvasni / kuldeni a bongeszonek a file tartalmat

itt egy pelda:
http://benjamin.hu/index.php3?source=php/download

bye, Benjamin
Benjamin.HU
2

Re: Fájl letoltes

Anonymous · 2001. Okt. 26. (P), 16.24
ja, és mySql nélkül?

hurka17
3

Re: Fájl letoltes

Benjamin · 2001. Okt. 30. (K), 12.52
mysql nelkul TXT-be :) kitalasz egy formatumot es az alapjan csinalod:

pl (files.txt):
1|link
2|link
...

es ugyanott vagy... kikeresed az idt fogod az urlt es kesz ;)

bye, Benjamin
Benjamin.HU
4

Re: Fájl letoltes

World-Soft · 2001. Nov. 30. (P), 19.41
Engem pontosan az érdekelne, hogy mi van a PHP-ban. Én nem is igazán elrejteni, hanem számlálni szeretném a letöltéseket. Jelenleg úgy tudom megcsinálni, hogy a kinkre kattintva feljön egy ablak, megy egy frissítést generál magára a fájlra.
Ezzel csak az a bajom, hogy ott van az a plusz ablak.
Tehát azt szeretném ha felhasználó ugyanúgy tudna letölteni mindha a link símán a pl. *.zip pájlra mutatna.
5

Re: Fájl letoltes

Benjamin · 2001. Nov. 30. (P), 20.40
Engem pontosan az érdekelne, hogy mi van a PHP-ban. Én nem is igazán elrejteni, hanem számlálni szeretném a letöltéseket.


en ezzel csinalom:
http://benjamin.hu/index.php3?source=php/download

bye, Benjamin
6

Re: Fájl letoltes

World-Soft · 2001. Dec. 2. (V), 21.32
Ok. Mostmár működne, de van egy kis gond.
A mysql a "host.sk" -nál van. A meghívott PHP is. Viszont a fájl máshol. Itt viszont az fopen-ben nem működik a (http://) előtag.
A freeweb, pedig nem veszi be a (Db_mysql.inc) -fájlomat. [én ez segítségével kezelem a mysql-t]
Hogyan lehetne kikerülni a http-t a címben?
Illetve hol van valami gyors és normális magyar mysql szolgáltató (ingyenes).
7

Re: Fájl letoltes

World-Soft · 2001. Dec. 3. (H), 17.21
időközben a host.sk ezt küldte vissza:

"because PHP on host.sk is in safe_mode
see manual for PHP"

Bár nem igazán találtam meg, de most akkor nem tudok más helyre hivatkozni?



:o
8

Re: Fájl letoltes

bbalint · 2002. Már. 9. (Szo), 10.38
letolt.php
  1. // újsor karakter  
  2.  define('UJSOR',chr(10));  
  3.  if(!isset($_GET['letolt'])){  
  4.   $file=file('./lista.txt');  
  5.   foreach($file as $line){  
  6.    $line=preg_replace('/'.UJSOR.'/','',$line);  
  7.    $line=preg_split('/\s+',$line,PREG_SPLIT_NO_EMPTY);  
  8.    printf('<a href="/%s?letolt=%s">%s</a><br>',$_SERVER['SCRIPT_NAME'],$line[0],$line[0]);  
  9.   }  
  10.  }else{  
  11.   $file=file('lista.txt');  
  12.   $found=FALSE;  
  13.   while(!$found && ($line = each($file)){  
  14.    $line=preg_replace('/'.UJSOR.'/','',$line);  
  15.    $line=preg_split('/\s+',$line,PREG_SPLIT_NO_EMPTY);  
  16.    if($line[0] == $_GET['letolt']){  
  17.     $found=TRUE;  
  18.    }  
  19.   }  
  20.   if($found){  
  21. // ha megvan  
  22.    header('Content-type: '.$line[2].chr(13).chr(10));  
  23.    header('Content-disposition: inline; filename="'.$line[0].'"'.chr(13).chr(10));  
  24.    $fp=fopen($line[1],'r');  
  25.    while(!feof($fp)){  
  26.     if(connection_status() > 0) {  
  27.      break;  
  28.     }  
  29.     $buffer=fread;  
  30.     print($buffer);  
  31.    }  
  32.    fclose($buffer);  
  33.   }else{  
  34. // ha nem találta a hivatkozott file-t  
  35.    print('hülye vagy fiacskám.');  
  36.   }  
  37.  }  
lista.txt:
letolt.phps titok/letolt.php text/html

szóval ez a kis forráskód a lista.txt-t használva küldözgeti a file-okat,
vagy a listát a file-okról.
a lista.txt felépítése annyi, hogy egy sor egy rekordnak felel meg,
egy rekord pedig a látszólagos filenévből egy vagy több térköz karakterből,
majd a valódi filenévből, újabb térköz karakter(ek)ből majd a MIME típusból áll.
a freeweben ez a dolog nem fog működni, sajnos. :(

remélem azért még használható valamire...

--bbalint