Autor | Zpráva | ||
---|---|---|---|
vratkar Profil * |
#1 · Zasláno: 12. 7. 2007, 14:06:51
Ahoj,
potreboval bych udelat script, ktery by stahnul soubor s tim ze by se neprozeadilo umisteni toho souboru na serveru. www.neco.cz/slozka/soubor.doc - cesta www.neco.cz/get.php?stahni=soubor.doc dik |
||
Casero Profil |
#2 · Zasláno: 12. 7. 2007, 14:22:28
vratkar
V souboru get.php bude něco takového: <?php |
||
TomAsQo Profil |
#3 · Zasláno: 12. 7. 2007, 14:26:41
casero: ahoj,
bol by si taky dobry a napisal vyznam hlaviciek header("Content-Description: File Transfer"); header("Content-Type: application/force-download"); alebo hodil link? diky :) |
||
Casero Profil |
#4 · Zasláno: 12. 7. 2007, 14:31:35
TomAsQo
Nejsem znalec, ale řekl bych, že header("Content-Description: File Transfer"); => popis obsahu = přenos souboru header("Content-Type: application/force-download"); => obsah je typu aplikace ke stažení |
||
vratkar Profil * |
#5 · Zasláno: 12. 7. 2007, 14:56:50
kdyz tam dam vetsi soubor, jeto pomaly
|
||
bukaj Profil |
#6 · Zasláno: 12. 7. 2007, 16:42:55 · Upravil/a: bukaj
vratkar
kdyz tam dam vetsi soubor, jeto pomaly rychlejší by to nebylo, ani kdybys to stahoval přímo ;) záleží na rychlosti tvého připojení a připojení serveru, na kterém to máš |
||
Časová prodleva: 1 měsíc
|
|||
peki Profil |
#7 · Zasláno: 19. 8. 2007, 00:50:07 · Upravil/a: peki
Pre vseykych hlavne Casero
Neni to nic moc nakolko: spravil som si skript , ktory precita vsetky headre , vysledok: HTTP/1.1 200 OK Date: Sat, 18 Aug 2007 22:44:02 GMT Server: Apache/2.2.3 (Win32) DAV/2 mod_ssl/2.2.3 OpenSSL/0.9.8d mod_autoindex_color PHP/5.1.6 X-Powered-By: PHP/5.1.6 Content-Description: File Transfer Content-Disposition: attachment; filename="ownloadsrv/nieco.app.exe" Content-Length: 27 Connection: close Content-Type: application/force-download Problem je ze headre sa posielaju ku klientovi teda je to tak kvalitne ako ochrana JavaScriptom... :) Riesenie:.htaccess |
||
krteczek Profil |
#8 · Zasláno: 19. 8. 2007, 01:19:00
peki: jenže filename je název souboru, který chceš aby se zobrazil a soubor se tak jmenoval a co tam dáš je jen na tobě ;-), to odkud se soubor načítá je důležité jen pro funkci readfile(), aby mohla přistoupit k tomu souboru a odeslat ho.
Jak myslíš že by vypadala cesta u souborů, které jsou uložené v databázi? vyzkoušet si to můžeš zde: http://hp.jaknato.com/ |
||
peki Profil |
#9 · Zasláno: 19. 8. 2007, 09:48:33
krteczek
aha chapem :) , ale myslim ze aj tym htaccessom by to slo, teda asi idealne aj aj , lebo napr, niekto zisti nazov zlozky, a uz ju "ma" :). Teda ja by som sa len na toto nespoliehal |
||
krteczek Profil |
#10 · Zasláno: 19. 8. 2007, 13:42:22 · Upravil/a: krteczek
peki: co z toho že ji má (lebo napr, niekto zisti nazov zlozky, a uz ju "ma" :). , když:
1. z bezpečnostních důvodů je zakázán výpis adresářů 2. skutečné jméno souboru neznáš 3. stejně je ten soubor nabídnut ke stažení... 4. soubor může být teprve vygenerováván 5. může být uložen v databázi (ta cesta by mohla být zajímavá => protože fyzicky neexistuje, chtel bych videt jak neco takoveho listujes jako hacker :-)) 6. lze nastavit práva ke složce, i k samotným souborům tak aby k nim měl přístup jen script |
||
Časová prodleva: 2 měsíce
|
|||
berkoff Profil * |
#11 · Zasláno: 31. 10. 2007, 14:31:20
No jo, a co s tim, kdyz ty soubory co chci davat na stazeni jsou uplne jinde v ./home/ftp/ a je k nim pristup jen pres ftp? jde to nejak vyresit?
|
||
berkoff Profil * |
#12 · Zasláno: 31. 10. 2007, 18:19:52
tak nakonec jsem to praskul primo, ale mam jiny problem, v FF chodi, v IE ne, snazi se to ulozit soubor ULOZ jako Dokument, poradite?
uloz.php $soubor = 'download/'.$link.''; header("Content-Description: File Transfer"); header("Pragma: hack"); header("Content-Length: " .(string)(filesize($soubor)) ); header("Content-Type: application/force-download"); header('Content-Transfer-Encoding: Binary'); header('Content-Disposition: attachment; filename='.$soubor.''); readfile($soubor); |
||
berkoff Profil * |
#13 · Zasláno: 31. 10. 2007, 18:49:23
reseni:
$filename= 'download/'.$link.''; // required for IE, otherwise Content-disposition is ignored if(ini_get('zlib.output_compression')) ini_set('zlib.output_compression', 'Off'); // addition by Jorg Weske $file_extension = strtolower(substr(strrchr($filename,"."),1)); if( $filename == "" ) { echo "<html><title>eLouai's Download Script</title><body>ERROR: download file NOT SPECIFIED. USE force-download.php?file=filepath</body></html>"; exit; } elseif ( ! file_exists( $filename ) ) { echo "<html><title>eLouai's Download Script</title><body>ERROR: File not found. USE force-download.php?file=filepath</body></html>"; exit; }; switch( $file_extension ) { case "pdf": $ctype="application/pdf"; break; case "exe": $ctype="application/octet-stream"; break; case "zip": $ctype="application/zip"; break; case "doc": $ctype="application/msword"; break; case "xls": $ctype="application/vnd.ms-excel"; break; case "ppt": $ctype="application/vnd.ms-powerpoint"; break; case "gif": $ctype="image/gif"; break; case "png": $ctype="image/png"; break; case "jpeg": case "jpg": $ctype="image/jpg"; break; default: $ctype="application/force-download"; } header("Pragma: public"); // required header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private",false); // required for certain browsers header("Content-Type: $ctype"); // change, added quotes to allow spaces in filenames, by Rajkumar Singh header("Content-Disposition: attachment; filename="".basename($filename)."";" ); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".filesize($filename)); readfile("$filename"); exit(); |
||
Časová prodleva: 16 let
|
0