Nemožnost otevřít soubor pomocí Fopen()

Ahojda, mám problémek.

Na doméně .com se snažím její majitelce zprovoznit knihu návštěv. Nemám však k dispozici přihlašovací údaje k MySQL a tak to řeším skrz zapisování do souboru. Jediné co vím, že na tom serveru běží PHP 5 a pro jistotu níže přikládám PHPinfo:

http://www.euri-escot.com/aaa/phpinfo.php

... a teď k problému:

Při pokusu otevření souboru pomocí fopen() mi to vypíše:

Warning: fopen() [function.fopen]: URL file-access is disabled in the server configuration in /DISK2/WWW/euri-escot.com/www/aaa/files/guestbook.php on line 101

Warning: fopen(http://www.euri-escot.com/aaa/book.dat) [function.fopen]: failed to open stream: no suitable wrapper could be found in /DISK2/WWW/euri-escot.com/www/aaa/files/guestbook.php on line 101

Vůbec netuším, jestli se to dá nějak obejít např. přes .htaccess a pod.

Budu rád za jakoukoliv radu.

Díky moc, Petr
Ahojky, tak teď jsem si vzpomněl v .htaccessu na

php_flag allow_url_fopen on


Mojí otázkou (pokud toto je samozřejmě řešení) je, kam ten soubor vrazit?

Když to dám do složky inkludovaných souborů, situace je beze změny, když to dám do rootu, hodí mi to Error 500.
Ta hláška říká, že není povolen vzdálený přístup k souboru.

K tomu souboru přistupuješ lokálně (tzn skript je na tomtéž serveru) nebo vzdáleně (na jiném severu)?

Pakliže lokálně, tak odstraň to http:// a přistupuj relativní cestou.
Jestli vzdáleně, pak povol allow_url_fopen v .htaccess (viz http://www.webzdarma.cz/forum/read.php?f=2&i=35747&t=35747).
Error 500 znamena dve veci: bud mas v .htaccess chybu nebo preklep; nebo tam nastavujes neco, co nemas povoleny nastavovat
Tomik:

K souboru přistupuji lokálně pod názvem book.dat a cestu zadávám taky relativní, ale nic to na tom nemění.

fopen("book.dat");

Na localu mi doma vše funguje (mám ale PHP 4 - pokud to mění situaci). Zkoušel jsem dát i absolutní cestu, taky nic.
Hek? Lokálně?
Hlaška říká něco jiného: fopen(http://www.euri-escot.com/aaa/book.dat). Z tohoto pohledu používáš absolutní cestu.

Pokud skutečně používáš relativní cestu a hlásí to "URL file-access.." , tak to někdo posral. Buď je ten hosting nějak blbě nastavený nebo jsi někde udělal chybku v nastavení. Nevim. Nepoužíváš třeba mod rewrite?
Nne, nepoužívám. Ale t.č. tj jedno, neboť tamnější supporti blokli ten web, z důvodu několikanásobnejch dotazů na ICQ a to se jim nelíbilo, neboť skrze ICQ mohou se domáhat prosby jen ti, co mají placenej hosting a tento byl FREE, a to jsem si přečetl jaksi pozdě.

Přesto díky všem!
ehm, že trochu odbočím... hosting pipni.cz, že? :) Radím sbalit kufry a utéct někam hodně daleko, za ty nervy těch pár korun fakt nestojí ;-)
Quinix:

Tak, tak. S horší arogancí jsem se nesetkal...
Už mě to začíná vytáčet. Kopíroval jsem nějaké věci z jednoho webu na druhý. Ty skripty načítali pomocí funkce fopen nějaké data z jiných serverů. Zapomněl jsem na .htaccess. Zkopíroval jsem ho taky. Pár dní to všechno fungovalo bez jakýchkoliv problémů, ale teď to nejde. .htaccess se zdá v pořádku. Na prvním webu funguje všechno bez problémů.
Zkoušel jsem .htaccess přepsat, ale bez výsledků. V čem tedy může být problém?

Díky
Zefek: Chybové hlášení, nebo aspoň věšteckou kouli by jsi neměl?
Musis lepe popsat co nefunguje a jakym zpusobem to provadis (ze to nefunguje) ;) .. pak je teprve mozne najit nejake rozumne reseni :)

=Tom=
btw: Ja m chtel odpovedet podobnym zpusobem uz ve 12 hodin, ale pak jsem si rekl, ze budu ke vsem dneska slusny a nikomu nereknu asi spatne slovo :D
=Zefek=
nejak jsem zapomel pripsat cim vsim by to mohlo byt - allow_url_fopen, zmena umisteni nacitanych souborů, jina struktura mezi weby - jeden muze v .htaccess neco blokovat a druhy ne, .. atd... je toho jeste dost :)
Pardón, takže píše to přesně tohle: http://btmr.mysteria.cz/top/
Pochopil jsem z toho, že ta funkce není na serveru povolená. Používám stejné funkce na jiném webu u wz, kde všechno funguje, tak jsem vzal ten .htaccess z toho. Stejně to nejde. V .htaccess je php_flag allow_url_fopen on. Jediný řádek. Zkusil jsem ještě na tom funkčním webu ten .htaccess smazat, vyhodilo to tu chybu popsanou výše, tak jsem ho tam vrátil zpátky a vše funguje. Tak jsem smazal .htaccess v tom webu výše, několikrát aktualizoval stránku a pak tam nahrál opět ten .htaccess z toho funkčního webu. Žádná změna. Ten funkční web je http://top-btmr.wz.cz/xchat/
Web jsem přehrával teprve před nedávnem, když jsem tam dal ten .htaccess z toho funkčního webu, tak to fungovalo, ale přestalo to fungovat z ničeho nic :(
A nemas v tom .htaccessu krome toho php_flagu jeste neco, cim bys ho treba rusil? ..

(protoze pokud ho mas spravne umisteny a mas tem jenom php_flag allow_url_open on , tak mi neni jasne, proc by to nefungovalo .... )
Podívej se na http://btmr.mysteria.cz/htaccess . Jsem u toho jen zrušil tu tečku. Mi to právě taky není jasné a největší podivnost je, že to chvíli fungovalo a pak to z ničeho nic přestalo.
No pokud není chyba v obsahu, pak musí být chyba v samotném souboru.
První varianta je konflikt s více .htaccess. V hlavním adresáři můžeš mít jeden haťák a v podadresáři druhý haťák a ty se mohou nějak ovlivňovat.
Druhá varianta, že soubor .htaccess není .htaccess. To znamená, že kromě .htaccess obsahuje nějaký(é) znak(y) navíc. Windows má tendenci skrývat přípony. Takže se může stát, že soubor se jmenuje třeba .htaccess.txt. Další možnost je překlep, nebo chybějící znak. Htaccess je tak přepísmenkován, že klidně můžeš zapomenout na dvojité s nebo dvojité c.

A teď konec teorie. Přejdeme k praxi ;)

Zkus, jestli Apache vůbec reaguje na ten .htaccess. Stačí do toho souboru napsat nesmysl. Apache pak zareaguje chybou 500. Pokud nezareaguje, pak .htaccess není .htaccess.
Heh,
tak me napadl jen konflikt s jinym .htaccess a pripadne nejakym bugem na serveru .. (ale nez jsem to stihl napsat, tak Tomík odpovedel :)

Vzhledem k tomu, ze jsi ze jmena soubru smazal jen tecku, tak muzeme predpokladat, ze nazev i umisteni (root) je spravne.

takze asi:
1) projit vsechny slozky v rootu webu, jeslit tam neni jiny .htaccess
2) zkusit tu prasarnu, kterou navrhuje tomik (error 500) :D
Prošel jsem všechny adresáře, jiný .htaccess tam není. Zkusil jsem tam napsat prasárničku, chyba 500. Když jsem to pak přepsal zpátky na php_flag allow_url_fopen on, tak to zase nefunguje :(
Já už vážně nevím, co s tím ... jen mě tak ještě napadlo, zkusit tam dát třeba příkaz na zaheslování složky ...
Vyzkouším ještě nějaké finty a dám vědět.
Zkoušel jsem zadat jiné příkazy, tak se mi povedlo, aby bylo možné zobrazit výpis adresáře, když chybí index, ale povolit fopen ani za nic. Nemohlo by to nějak souviset s právama?
Tak nevíte někdo, čím by to mohlo být, když jiné příkazy v .htaccess fungují a ten php_flag allow_url_fopen on nefunguje? Co s tím? Nutně tuto funkci potřebuju :(
Tak to je nekde asi nejaky brouk ...

Nemas nahodou pred php_flag treba sharp (#) ?

Zkus napsat primo na podporu webzdarma mail .. jestli je totiz vsechno jak rikas, tak by nemel byt problem na tvem prijimaci ..
Před php_flah #(hash, sharp) není. Zkoušel jsem nahrát .htaccess i z jiného účtu na wz.cz, kde je tohle funkční a bez žádného výsledku.
Na podporu už jsem psal dvakrát, bez odpovědi ... Ještě počkám, ale už bych to potřeboval vyřešit. :-/
Ahoj, zajimalo by me to jak to dopadlo, protoze mam uplne stejny problem taky me "php_flag allow_url_fopen on" nefunguje a taky ho nutne potrebuji :-((
=pou=
Dovolím si tipnout, že domény mysteria.cz a xf.cz neběží na stejném serveru a tedy odhadnu, že se tě netýká přesně tento problém..(možná jen podobný?:)
Zkontroluj umístění .htaccess souboru, zkontroluj překpely (=překlepy ~ pro Thalii :) a taky správný název .htaccess souboru - už jsem viděl různé modifikace s chybějícímí "s" nebo "c" .. ;)

Případně se pokus ověřit, že se jedná o stejnou chybu (poškozením .htaccess souboru a očekávání chyby 500)..případně kontrolou phpinfo(), jestli se lokální allow_url_fopen přepíše... :)