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.
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).
// újsor karakter
define('UJSOR',chr(10));
if(!isset($_GET['letolt'])){
$file=file('./lista.txt');
foreach($file as $line){
$line=preg_replace('/'.UJSOR.'/','',$line);
$line=preg_split('/\s+',$line,PREG_SPLIT_NO_EMPTY);
printf('<a href="/%s?letolt=%s">%s</a><br>',$_SERVER['SCRIPT_NAME'],$line[0],$line[0]);
}
}else{
$file=file('lista.txt');
$found=FALSE;
while(!$found && ($line = each($file)){
$line=preg_replace('/'.UJSOR.'/','',$line);
$line=preg_split('/\s+',$line,PREG_SPLIT_NO_EMPTY);
if($line[0] == $_GET['letolt']){
$found=TRUE;
}
}
if($found){
// ha megvan
header('Content-type: '.$line[2].chr(13).chr(10));
header('Content-disposition: inline; filename="'.$line[0].'"'.chr(13).chr(10));
$fp=fopen($line[1],'r');
while(!feof($fp)){
if(connection_status() > 0) {
break;
}
$buffer=fread;
print($buffer);
}
fclose($buffer);
}else{
// ha nem találta a hivatkozott file-t
print('hülye vagy fiacskám.');
}
}
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. :(
Re: Fájl letoltes
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
Re: Fájl letoltes
hurka17
Re: Fájl letoltes
pl (files.txt):
1|link
2|link
...
es ugyanott vagy... kikeresed az idt fogod az urlt es kesz ;)
bye, Benjamin
Benjamin.HU
Re: Fájl letoltes
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.
Re: Fájl letoltes
en ezzel csinalom:
http://benjamin.hu/index.php3?source=php/download
bye, Benjamin
Re: Fájl letoltes
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).
Re: Fájl letoltes
"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
Re: Fájl letoltes
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