webForumDet fria alternativet

Det här med "magic quotes"...

5 svar · 450 visningar · startad av Swey

SweyMedlem sedan apr. 20003 971 inlägg
#1

...går mig på nerverna!

Är det något som vet hur det fungerar? Om jag skriver "c:\" i ett formulär så kommer det in som "c:\\". Detta vill jag inte ha utan jag vill ha "c:\". Är det en bugg eller en funktion?

När ska jag använda StripSlashes på den för att få bort \? Har märkt att det inte behövs vid echo men därimot vid annat fall.

Snälla, någon som förstår?

------------------
/mvh Swey

- Wadde Hadde Dudde Da

RobbanMedlem sedan dec. 19992 555 inlägg
#2

Det är en funktion. :)

Om vi tar följande rad som exempel:

$foo = "m\no";

Där står: 'm' 'newline' 'o'. Inte: 'm' '\' 'n' 'o'.

Tecknet '\' används för att ge speciell betydelse till andra tecken. Och det innebär att man måste ange '\\' om det är '\' man vill ha.

Anledningen till att inte detta syns när du använder echo är att alla specialtecken ersätts när du skriver ut en sträng ('\\' visas som '\' och '\n' visas som 'newline').

Om denna avkodning skall ske automatiskt eller inte kan du styra från php.ini (och jag tror även det finns en funktion som gör att du kan styra det på scriptbasis). Innebär dock inte att PHP i sig behandlar '\' annorlunda.

------------------
Robban < robban@lipogram.com >

SweyMedlem sedan apr. 20003 971 inlägg
#3

Tack för svaret...

Jo det känner jag till från C.

Det finns dock två problem.
1. Varför fungerar inte det i andra funktioner än echo? Om jag använder
fwrite("rad1\nrad2") så ska det stå
rad1
rad2
men det gör ju inte det. Inte när det är inkommande deta iaf. Utan det står rad1\nrad2 i filen. Varför?

--

Ett annat problem jag har är att jag inte är administratör på servern jag använder och därför inte kan ändra php.ini :(

------------------
/mvh Swey

- Wadde Hadde Dudde Da

[Redigerat av Swey den 24 maj 2000]

RobbanMedlem sedan dec. 19992 555 inlägg
#4

Läser man dokumentationen för fwrite så står det:

Note that if the length argument is given, then the magic_quotes_runtime configuration option will be ignored and no slashes will be stripped from string.

Man verkar alltså kunna påverka detta beteende genom att ändra magic_quotes_runtime (har inte möjlighet att testa nu).

Har du provat med fputs()?

------------------
Robban < robban@lipogram.com >

[Redigerat av Robban den 25 maj 2000]

SweyMedlem sedan apr. 20003 971 inlägg
#5

Den texten måste jag ha missat.

Fast det är ju endast om man anger längden och det har jag ju inte gjort :q

Jag har samma problem med databas-funktionerna.

------------------
/mvh Swey

- Wadde Hadde Dudde Da

SweyMedlem sedan apr. 20003 971 inlägg
#6

Yohoo... någon som vet?

Om inte det så kanske någon vet hur man kan överskrida inställningarna i php.ini för en speciell mapp utan att vara administratör?

------------------
/mvh Swey

- Wadde Hadde Dudde Da

135 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)