PHP fopen

Programovacie jazyky, rady, poradňa...
Blade.m
Medium Star
Medium Star
Príspevky: 454
Registrovaný: 06 apr 2007, 20:10
Bydlisko: Čadca

PHP fopen

Príspevok od používateľa Blade.m »

Zdravim, potrebujem otvorit textovy dokument, tak aby ho zobrazilo na stranke. Hosting mam od websupport. A problem je v tom, ze na PC mi to funguje a ked to nahodim na web, tak to nefunguje. Prosim vas neviete mi poradit co s tym? Resp. ak to websupport nemaju povolene, tak pouzit inu variantu? Dik :)

Kód: Vybrať všetko

<?php
    $file = file_get_contents('txt/akcia.txt', FILE_USE_INCLUDE_PATH);
    echo $file;
?>
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: PHP fopen

Príspevok od používateľa BX »

Pochybujem, že to má websupport zakázané.
Skús to klasicky:

Kód: Vybrať všetko

echo file_get_contents("./txt/akcia.txt");
Ak to nejde, tak budeš mať asi bordel v umiestnení súboru.
Blade.m
Medium Star
Medium Star
Príspevky: 454
Registrovaný: 06 apr 2007, 20:10
Bydlisko: Čadca

Re: PHP fopen

Príspevok od používateľa Blade.m »

ale mne to v PC ide bez problemu...skusim to co si napisal :)

//nefunguje to, stale to iste mi to robi, cize nic, vobec mi to nezobrazi
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: PHP fopen

Príspevok od používateľa BX »

Kód: Vybrať všetko

echo file_get_contents("http://google.com");
ti zobrazí?
sorien
Medium Expert
Medium Expert
Príspevky: 88
Registrovaný: 02 jún 2011, 21:55

Re: PHP fopen

Príspevok od používateľa sorien »

BX napísal:

Kód: Vybrať všetko

echo file_get_contents("http://google.com");
ti zobrazí?
toto je velmi otazne lebo v php.ini mozes mat napevno nastavene allow_url_fopen na off a tu stranku ti nepovoli otvorit

s5 k teme skus toto

Kód: Vybrať všetko

error_reporting(-1);
file_get_contents("./txt/akcia.txt");
a napis ci ti to hodi niaku chybu
Blade.m
Medium Star
Medium Star
Príspevky: 454
Registrovaný: 06 apr 2007, 20:10
Bydlisko: Čadca

Re: PHP fopen

Príspevok od používateľa Blade.m »

toto mi vypise:

Kód: Vybrať všetko

Warning: file_get_contents(./txt/akcia.txt) [function.file-get-contents]: failed to open stream: No such file or directory in /data/a/n/"nazov stranky"/web/akcia.php on line 30
na tom 30 riadku je napisany ten kod file_get_contents...

//ked dam ten google, tak mi nic nezobrazi
Aiden
Darca
Darca
Používateľov profilový obrázok
Príspevky: 2213
Registrovaný: 06 apr 2007, 14:28

Re: PHP fopen

Príspevok od používateľa Aiden »

a taketo riesenie?

Kód: Vybrať všetko

<html>
    <body>
        <pre>
            <?php include("Text.txt"); ?>
        </pre>
    </body>
</html>
Blade.m
Medium Star
Medium Star
Príspevky: 454
Registrovaný: 06 apr 2007, 20:10
Bydlisko: Čadca

Re: PHP fopen

Príspevok od používateľa Blade.m »

pravdu povediac cez include ma to nenapadlo spravit...ale bohuzial ani to nefunguje :(, ta ista chyba...ale v jednom scripte pouzivam include a to v pohode ide, ale tam nevkladam txt subor
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP fopen

Príspevok od používateľa audiotrack »

Aiden, keď mu píše chybu že tam ten súbor neexistuje, tak je dosť naivné dúfať že ho otvorí inou funkciou :)

Blade.m: ten súbor tam nie je. Pozri sa či existuje, a či je v tom adresári kde ho požaduješ. To znamená, že máš súbor s php v ktorom je tento kod, v rovnakom adresári je adresár txt, a v ňom je ten akcia.txt
Aiden
Darca
Darca
Používateľov profilový obrázok
Príspevky: 2213
Registrovaný: 06 apr 2007, 14:28

Re: PHP fopen

Príspevok od používateľa Aiden »

Si si uplne isty, ze adresa k suboru je spravna?
Neskoro :D

Mal som ten prispevok dlhsie rozpisany, tak som si nevsimol tu chybovu hlasku :)
Blade.m
Medium Star
Medium Star
Príspevky: 454
Registrovaný: 06 apr 2007, 20:10
Bydlisko: Čadca

Re: PHP fopen

Príspevok od používateľa Blade.m »

ja som z toho jelen :D...tam kde mam ten subor php, tak tam mam zlozku txt a tu ked otvorim, tak tam mam akcia.txt a aj tak mi to nejde...v PC mi to normalne ide a rozmiestnenie mam to iste...presne ako pises audiotrack, tak to mam a aj tak to nejde...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP fopen

Príspevok od používateľa audiotrack »

pozri oprávnenia toho súboru a adresára
Blade.m
Medium Star
Medium Star
Príspevky: 454
Registrovaný: 06 apr 2007, 20:10
Bydlisko: Čadca

Re: PHP fopen

Príspevok od používateľa Blade.m »

akcia.txt - -rw-r--r--
txt - drwxr-xr-x
sorien
Medium Expert
Medium Expert
Príspevky: 88
Registrovaný: 02 jún 2011, 21:55

Re: PHP fopen

Príspevok od používateľa sorien »

Kód: Vybrať všetko

ked spravis file_get_contents('sem ide relativna cesta k prvemu skriptu co sa spustil');
napriklad index.php includuje subor.php v ktorom je (riadok vyssie) tak musi byt cesta relativna k suboru index.php nie k subor.php

ked spustas web/akcia.php a subor je v web/txt/akcia.txt tak to bude

Kód: Vybrať všetko

file_get_contents('txt/akcia.txt');
druha moznost je spravit si cestu relativnu k root adresaru servera

Kód: Vybrať všetko

var_dump($_SERVER["DOCUMENT_ROOT"].'/txt/akcia.txt'); //pozries sa ci ti cesta sedi 
echo file_get_contents($_SERVER["DOCUMENT_ROOT"].'/txt/akcia.txt');
ked pouzivas prepinac FILE_USE_INCLUDE_PATH

Kód: Vybrať všetko

file_get_contents('', FILE_USE_INCLUDE_PATH);
je dobre sa pozriet kde phpcko hlada ten subor

Kód: Vybrať všetko

foreach (explode(PATH_SEPARATOR,get_include_path()) as $value)
var_dump(realpath($value));
Blade.m
Medium Star
Medium Star
Príspevky: 454
Registrovaný: 06 apr 2007, 20:10
Bydlisko: Čadca

Re: PHP fopen

Príspevok od používateľa Blade.m »

ani pod jednym mi to neotvori...
ked dam to prve:

Kód: Vybrať všetko

file_get_contents('txt/akcia.txt');
tak to nezobrazi

druhe:

Kód: Vybrať všetko

var_dump($_SERVER["DOCUMENT_ROOT"].'/txt/akcia.txt'); //pozries sa ci ti cesta sedi 
echo file_get_contents($_SERVER["DOCUMENT_ROOT"].'/txt/akcia.txt');
tak vypíše toto:

Kód: Vybrať všetko

string(43) "/data/web/"nazov stranky"/web/txt/akcia.txt"
a pri tretiom zas to iste ako v tom prvom pripade, cize nezobrazi nic

a posledne:

Kód: Vybrať všetko

foreach (explode(PATH_SEPARATOR,get_include_path()) as $value)
var_dump(realpath($value));
vypise toto:

Kód: Vybrať všetko

string(29) "/data/a/n/"nazov stranky"/web" string(17) "/usr/php5/lib/php"
prosim vas viete poradit co dalej s tym?? :)
sorien
Medium Expert
Medium Expert
Príspevky: 88
Registrovaný: 02 jún 2011, 21:55

Re: PHP fopen

Príspevok od používateľa sorien »

ked skusis subor zobrazit cez prehliadac, ide v pohode? skus tie veci co som ti posielal predtym s error_reporting(-1) ci to bude hadzat warningy a napis mi celu cestu k tomu suboru akcia.txt
Blade.m
Medium Star
Medium Star
Príspevky: 454
Registrovaný: 06 apr 2007, 20:10
Bydlisko: Čadca

Re: PHP fopen

Príspevok od používateľa Blade.m »

zapol som error_reporting a pri prvom mi vyhadzuje toto:

Kód: Vybrať všetko

Warning: file_get_contents(txt/akcia.txt) [function.file-get-contents]: failed to open stream: No such file or directory in /data/a/n/"nazov stranky"/web/akcia.php on line 30
pri druhom:

Kód: Vybrať všetko

string(43) "/data/web/"nazov stranky"/web/txt/akcia.txt" 
Warning: file_get_contents(/data/web/"nazov stranky"/web/txt/akcia.txt) [function.file-get-contents]: failed to open stream: No such file or directory in /data/a/n/"nazov stranky"/web/akcia.php on line 31
pri tretom:

Kód: Vybrať všetko

Warning: file_get_contents(txt/akcia.txt) [function.file-get-contents]: failed to open stream: No such file or directory in /data/a/n/"nazov stranky"/web/akcia.php on line 30
a pri poslednom toto:

Kód: Vybrať všetko

string(29) "/data/a/n/"nazov stranky/web" string(17) "/usr/php5/lib/php"
ked rucne napisem

Kód: Vybrať všetko

http://stranka/obrazok
, tak ten mi zobrazi, ale ked napisem cestu k txt suboru, tak stranka neexistuje...skuskal som to davat priamo ku scriptu, ale ani to nepomohlo
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: PHP fopen

Príspevok od používateľa sharky-no »

nemas tam niekde htacces ktory ti blokuje prehliadanie txt suborov ? alebo nieco podobne nastavene na serveri nie je ?
Blade.m
Medium Star
Medium Star
Príspevky: 454
Registrovaný: 06 apr 2007, 20:10
Bydlisko: Čadca

Re: PHP fopen

Príspevok od používateľa Blade.m »

hmm a to ako zistim?? :oops:
sharky-no
King
King
Používateľov profilový obrázok
Príspevky: 1681
Registrovaný: 31 okt 2006, 19:53

Re: PHP fopen

Príspevok od používateľa sharky-no »

skus maly test, a vloz nejaky iny txt subor hocikde na stranku, popripade do toho isteho adresara, ked zistis ze zo ziadneho miesta ti nejde zobrazit txt subor, tak sa po tom blokovani mozes porozhliadnut.
Napísať odpoveď