Autor | Zpráva | ||
---|---|---|---|
zdenek Profil |
#1 · Zasláno: 13. 3. 2011, 10:23:37
ahoj, mám problém. tentokrát se potýkám s tímto:
mám složju, jejíž obsah mám zobrazen na stránce. když se klikne na jeden z uploadovaných souborů, tak se mi načte znovu. viz toto vlákno, ale nejde mi to. když se zadá adresa například: neco.php?action=history&soubor=neco.txt a poté mám kód $action = $_GET['action']; switch($action){ case history: $soubor_name_get = $_GET['soubor']; if (!$ukazatel=file_get_contents($soubor_name_get)) { echo "Soubor nelze precist!"; } else { fpassthru($soubor_name_get); } break; } kde mám chybu? protože mi to píše: Warning: fpassthru(): supplied argument is not a valid stream resource in /var/www/web6/elposys.eu/elposys.eu/rws/aufnehmen/index.php on line 55 a na řádku 55 je toto: fpassthru($soubor_name_get); |
||
Tori Profil |
#2 · Zasláno: 13. 3. 2011, 10:47:19
Chybí tam otevření souboru (fopen). Vizte příklad u funkce fpassthru v manuálu.
|
||
king26 Profil |
#3 · Zasláno: 13. 3. 2011, 10:50:29 · Upravil/a: king26
Ta chyba ti nic nenapověděla? Ani PHP manuál?
Musíš otevřít soubor. |
||
zdenek Profil |
#4 · Zasláno: 13. 3. 2011, 10:53:39
Tori:
díky za odpověď když dám před to $neco = fopen($ukazatel); fpassthru($neco); tak mi to zobrazí Warning: fopen() [function.fopen]: Unable to access zdendadasdasdassda in /var/www/web6/elposys.eu/elposys.eu/rws/aufnehmen/index.php on line 54 Warning: fopen(zdendadasdasdassda) [function.fopen]: failed to open stream: No such file or directory in /var/www/web6/elposys.eu/elposys.eu/rws/aufnehmen/index.php on line 54 Warning: fpassthru(): supplied argument is not a valid stream resource in /var/www/web6/elposys.eu/elposys.eu/rws/aufnehmen/index.php on line 55 |
||
king26 Profil |
#5 · Zasláno: 13. 3. 2011, 10:59:37
Není nad kvalitní vypisování chyb. Řekl bych, že soubor "zdendadasdasdassda" asi neexistuje, co ty na to?
Navíc by jsi měl otevírat přímo $soubor_name_get |
||
Tori Profil |
#6 · Zasláno: 13. 3. 2011, 11:01:48
Teď na to znova koukám... proč vlastně čtete ten soubor dvakrát (file_get_contents a fpassthru)? Stačilo by načíst jen jednou do proměnné, a pak podle hodnoty té proměnné buď vypsat její obsah, anebo chybovou hlášku.
PS: Sice jste se na to neptal, ale přidala bych nějakou ochranu, aby se nedalo do $_GET['soubor'] propašovat i relativní cestu (třeba ../hesla-k-databazi.inc), např. basename. |
||
zdenek Profil |
#7 · Zasláno: 13. 3. 2011, 11:04:38
už to funguje. díky všem. :-)
|
||
Časová prodleva: 13 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0