Permission denied ved bruk av fopen - og skrive til en xml
I et forsøk på å opprette en web-side med dagens valutakurser fra The European Central Bank, ECB, lykkes jeg ikke 100%. Her er siden;http://home.no.net/laroald/currency2.php
Og her er kobling til php-koden som jeg forsøker å benytte:
http://ireland.wellho.net/solutions/php-using-current-exchange-rates-on-a-web-page.html?setfontgroup=3
Min webside fungerer - men hele tiden en feilmelding;
Warning: fopen(erates.xml): failed to open stream: Permission denied in currency2.php on line 54:
$fh=fopen($cache,"w");
Like foran har jeg definert $cache = "erates.xml"; - som jeg har lagt i samme mappe.
Når jeg benytter min egen server fungerer det hele, men ikke på ekstern server. Kan ikke dette tyde på at php.ini er satt opp i "Safe Mode"? Jfr php.help-file; .."The PHP safe mode is an attempt to solve the shared-server security problem. It is architecturally incorrect to try to solve this problem at the PHP level, but since the alternatives at the web server and OS levels aren't very realistic, many people, especially ISP's, use safe mode for now.
.......When a script tries to open a file with, for example, fopen() or gzopen(), the location of the file is checked. When the file is outside the specified directory-tree, PHP will refuse to open it.
Jeg har forsøkt å legge erates.xml i mappen /include med koden
$cache = "$_SERVER[DOCUMENT_ROOT]laroald/include/erates.xml";
men heller ikke det fungerer - samme feilmeldingen: Permission denied. Kan det ha med at erates.xml ikke er satt med korrekt properties? At erates.xml ikke er definert for å kunne skrive til? Som hjelpe-filen sier vedrørende "fopen": "The file must be accessible to PHP, so you need to ensure that the file access permissions allow this access". I så fall; hvordan endrer jeg denne definisjonen for erates.xml?
For dere som kjenner xml: Kan det hele forklares med xml-encodingen?
<?xml version="1.0" encoding="UTF-8"?>. Jeg har forsøkt å endre encoding til "windows-1252". Da forsvinner feilmeldingen foran, men i stedet benyttes ikke dagens kurser fra ECB, men de gamle dataene hentes fra erates.xml hele tiden.
Siden dette er en "tom" hjemmeside kan de som er interessert med FTP få tilgang til filene gjennom:
Hostname: ftp.start.no
UserId: laroald
password: laroald
Takk for hjelpen
Hilsen Lars Roald