Avatar billede lequet Nybegynder
15. november 2002 - 16:47 Der er 4 kommentarer og
1 løsning

Undgå unødvendige \ i fil

Hej, jeg sidder med denne lille kode, som desværre giver mig et lille problem. Scriptet gemmer indholdet af $cn i en fil, men problemet er nu at alle " i $cn bliver til \" istedet, hvilket giver mig en række fejl i sidste ende (da $cn kan indeholde alle mulige koder f.eks. PHP kode).

Hvordan får jeg PHP til at holde fingrene for sig selv og bare gemme det i filen uden at tilføje nogen \ eller andre ting?

if ( $HTTP_POST_VARS['save'] == "true" ) {
       
  $fn = $HTTP_POST_VARS['filename'] ;
  $cn = $HTTP_POST_VARS['content'] ;
       
  $fp = fopen( $fn, "w" ) ;
       
  fwrite( $fp, $cn ) ;
       
  fclose( $fp ) ;       
   
}
Avatar billede tipsen Nybegynder
15. november 2002 - 17:22 #1
Kig på stripslashes():

http://dk.php.net/manual/en/function.stripslashes.php

Det er sandsynligvis fordi magic-quotes er enabled i php.ini (de giver samme resultat, som hvis du bruger addslashes() manuelt!)
Avatar billede tipsen Nybegynder
15. november 2002 - 17:22 #2
Det var så et svar...
Avatar billede tipsen Nybegynder
15. november 2002 - 17:24 #3
De karakterer som kan give problemer for mysql bliver automatisk escapet, men det er ligegyldigt for dine filoperationer.
Avatar billede lequet Nybegynder
15. november 2002 - 17:24 #4
Men vil det ikke fjerne alle \ i strengen? Hvis der så er nogen \ som skal være der vil de vel også blive fjernet? Har desværre ikke mulighed for at ordne det i php.ini, ville ellers være smart :)
Avatar billede lequet Nybegynder
15. november 2002 - 17:29 #5
Fik lige testet og fundet svaret på mit spm :) Det virker jo helt som det skal

Takker mange gange :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester