ugrás a tartalomhoz

Letöltés másik webhelyről, úgy, hogy ne lássa honnan tölti

Anonymous · 2005. Aug. 22. (H), 16.04
Sziasztok!

Meg tudná valaki mondani, hogy mit csinálok rosszul a következő kódban:
  1. <?  
  2. $fajl = "http://valami.hu/valami.exe";  
  3. $type="application/octet-stream";  
  4.   
  5. if (file_exists($file)) {  
  6. header("Content-type: $_REQUEST[type]");  
  7. header("Content-Disposition: attachment; filename=$file");  
  8. readfile($file);  
  9.   
  10. else {  
  11. print "A fájl nem található!";  
  12.   
  13. }  
  14. ?>  
A gond az, hogy így nem találja a fájlt. Ha nem másik tárhelyen lévő cuccot akarok így letölteni, akkor nincs probléma (pl. $fajl = "valami.exe"; )...
Azért lenne szükség erre, mert a cuccaim nem egy tárhelyen vannak és nem szeretném, hogy aki letölti, lássa azt, hogy máshonnan tölti.
 
1

file_exists korlátolt

Hojtsy Gábor · 2005. Aug. 22. (H), 16.29
Nos, a dokumentációban ez van:
Tip: As of PHP 5.0.0 this function can also be used with some URL wrappers. Refer to Appendix M for a listing of which wrappers support stat() family of functionality.
Ebből inverz logikával arra következtethetsz, hogy a file_exists() nem megy távoli webcímekre PHP 5.0.0 előtt.
2

$fajl - $file

fberci · 2005. Aug. 22. (H), 17.25
Az elején a $fajl változót deklaráltad, míg később a $file-t használtad.

Üdv.: fberci
3

:))))))

Anonymous · 2005. Aug. 22. (H), 19.28
De ha még csak azt írtam volna el...no, mindegy.

Végül találtam egy ilyet:
  1. $fileurl="http://valami.hu/valami.exe";  
  2.   
  3. header('Content-Description: File Transfer');  
  4. header("Content-Type: application/force-download");  
  5. header('Content-disposition: attachment; filename='.basename($fileurl));  
  6. readfile("$fileurl");  
Ez így jó is lenne, csak valahogyan hozzá kellene hegeszteni a fájl méretet. A filesize() itt nem jó...
4

Aztán mégsem jó...

Anonymous · 2005. Aug. 22. (H), 19.55
csak localhoston....

Warning: readfile(): URL file-access is disabled in the server configuration


Ha jól sejtem, akkor ez ennyi volt...

Nem lehet valahogyan mégis megoldani?
5

volt már

Hojtsy Gábor · 2005. Aug. 22. (H), 19.59
Volt már sokszor itt is, például legutóbb Távoli fájl megnyitás ingyenes tárhelyeken?. Neked persze a CURL lehet megoldás, vagy fsockopen(). Lásd ezek dokumentációját.
6

Na de egy fizetős tárhelyen...

Anonymous · 2005. Aug. 22. (H), 20.08
Azt hiszem legközelebb jobban utánajárok hogy hol is bérlek tárhelyet...
7

<Nincs cím>

Anonymous · 2005. Aug. 23. (K), 19.12
Az a vicc, hogy még ez sem megy a tárhelyemen:
  1. //the site or URL to get  
  2. $ch = curl_init("http://www.google.com/");  
  3. //set the options for the transfer  
  4. curl_setopt($ch, CURLOPT_HEADER, 0);  
  5. //execute the session  
  6. curl_exec($ch);  
  7. //free up system resources !!IMPORTANT  
  8. curl_close($ch);  
Szóval én már nem igazán tudom, hogy mit is csináljak. A lényeg az lenne, hogy a (fizetős) tárhelyen lévő oldalamról el tudjak érni ingyenes tárhelyeken lévő cuccokat, úgy, hogy ne látszódjon, hogy nem a saját tárhelyemen van.

Ha bárki tud segíteni, kérem tegye meg...
8

<Nincs cím>

Anonymous · 2005. Aug. 23. (K), 19.14
Ja, még annyi, hogy 302-es hibát ír ki és a tárhelyen engedélyezve van a CURL.
12

302-es (hiba?)

Hojtsy Gábor · 2005. Aug. 23. (K), 21.35
Nos, a 302-es azt jelenti, hogy kapsz egy másik webcímet, amit használhatsz, azon kell folytatni a lekérdezést. A CURLOPT_FOLLOWLOCATION való arra, hogy megmondd a CURL-nek, hogy kövesse automatikusan az átirányításokat, és akkor nem kell neked dolgozni vele.
9

Általában ezt tiltják

Jano · 2005. Aug. 23. (K), 19.58
Az ingyenes tárhelyek ezt a fajta felhasználást tiltják! Tehát csak úgy lehet náluk tárolni cuccot, hogy az oldal is náluk van és így megjelenhet a reklám hely is amiből megélnek!
10

Tudom

Anonymous · 2005. Aug. 23. (K), 20.03
Viszont megoldható, hogy ne tűnjön fel nekik ez az 'apróság', csak hát gyakorlatilag nem tudom kivitelezni. Ehhez kellene egy kis segítség...
11

Védekeznek

Jano · 2005. Aug. 23. (K), 21.34
Lehet hogy IP szűréssel védekeznek. Simán előfordulhat, hogy a te szervered IP-jét bannolják.
13

Hát lehet

Anonymous · 2005. Aug. 23. (K), 21.43
Mondjuk ez a megoldás csak addig lett volna, míg át nem költöztetem a cuccaimat normális tárhelyre (2-3 hónap). Viszont a problémát akkor így is meg kellene oldanom, mert akkor is hozzá kell férni valahogyan a másik szerveren lévő fájlokhoz...