/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
php basedir. $fil="/data.txt"
Fra : ScooterGrisen


Dato : 17-11-08 08:07

Jeg har en hjemmeside: http://mentos.wep.dk hvor jeg blandet html og
php.
Jeg har mange forskellige html filer i forskellige mapper som gør brug
af den samme php fil ved hjælp af <?php include('php/
gemrefererdata.php'); ?>

I gemrefererdata.php skal jeg gemme data til en fil som ligger et
bestemt sted.
Problemet er så at jeg kan ikke skrive $datafil = "/data/
refererdata.txt"; fordi så får jeg en basedir restriction fejl fra php
når jeg prøv at få adgang fra roden /
hjemmesiden ligger på en windows server så min hjemmeside ligger i e:
\hjemmesider\osv
Men hvis jeg prøver at skrive $datafil = "e:\hjemmesider\osv" så får
jeg den samme basedir restriction fejl.

Ved at køre phpinfo() kan jeg se der står safe_mode   local value=On
master value=Off

Jeg vil bare gerne kunne skrive $datafil = "/data/datafil.txt" sådan
det virker lige meget hvilken html fil i hvilken mappe der kalder php
scritptet..

Håber i kan hjælpe.

I kan se kildekoden her:

Først 2 html filer som kalder gemrefererdata.php fra 2 forskellige
mapper
http://mentos.wep.dk/scooterhjemmeside/viskode.html?../index.html
http://mentos.wep.dk/scooterhjemmeside/viskode.html?scootere.html

http://mentos.wep.dk/scooterhjemmeside/viskode.html?php/gemrefererdata.php

 
 
Kim Emax (18-11-2008)
Kommentar
Fra : Kim Emax


Dato : 18-11-08 01:13

On Nov 17, 4:06 pm, ScooterGrisen <fedblind...@yahoo.dk> wrote:
> Jeg har en hjemmeside:http://mentos.wep.dkhvor jeg blandet html og
> php.
> Jeg har mange forskellige html filer i forskellige mapper som gør brug
> af den samme php fil ved hjælp af <?php include('php/
> gemrefererdata.php'); ?>
>
> I gemrefererdata.php skal jeg gemme data til en fil som ligger et
> bestemt sted.
> Problemet er så at jeg kan ikke skrive $datafil = "/data/
> refererdata.txt"; fordi så får jeg en basedir restriction fejl fra php
> når jeg prøv at få adgang fra roden /

kun root (g evt. udvalgte brugere) har adgang der. En webserver kører
typisk som nobody og har få rettigheder.

> Jeg vil bare gerne kunne skrive $datafil = "/data/datafil.txt" sådan
> det virker lige meget hvilken html fil i hvilken mappe der kalder php
> scritptet..

Læg din data fil i et dir, hvor du selv kan styre om der er
skriveadgang eller ej.

For at uvedkommende ikke får adgang til din datafil vil jeg foreslå at
du laver et dir på samme niveau som det dir, hvor dine php filer
ligger (DOCUMENT_ROOT), eks.

/var/www/mentos.wep.dk/
/var/www/mentos_data/

Har du et webhotel, hvor det ikke er muligt, så har du måske mulighed
for at uploade en .htaccess fil til dit data dir, der beskytter filen.
Noget i stil med:
<files datafil.txt>
DENY FROM ALL
</files>

Ellers vil jeg kigge på noget database løsning, hvis jeg var dig.

--
Mvh
Kim Emax


Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31962
Nyheder : 719565
Indlæg : 6408176
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste