[php] Characters naar file schrijven.

Pagina: 1
Acties:

Onderwerpen


  • josvane
  • Registratie: Oktober 2002
  • Nu online
Op dit moment ben ik een systeem aan het schrijven welke webbased een doorschakeling kan maken.
De autorisatie is inmiddels gerealiseerd, en de instellingen worden weggeschreven naar een database.

Nu wordt na het wijzigingen de asterisk configuratie file in 1 keer opnieuw geschreven. Nu komt er in dit bestand ook een $ teken voor. Als ik dus php het bestand laat schrijven ziet php dit aan als een variabelen. Het gevolg is dus dat ik een stuk mis in de config file en deze dus niet werkt.

Nu heb ik zitten googelen maar dit biedt mij niet de oplossing die ik zoek. De volgende functies heb ik bekeken. htmlentities, addslashes.Al deze functies maken tekst geschikt om in de database te zetten.

Weet iemand met welke functie ik dit wel voor elkaar kan krijgen.Onderstaand een voorbeeld wat ik wil schrijven naar het bestand

code:
1
exten = > 500,1,Dial(SIP/${EXTEN}@trunk)

  • fleppuhstein
  • Registratie: Januari 2002
  • Laatst online: 21-10 21:48

  • SvMp
  • Registratie: September 2000
  • Niet online
Ik vind het wat een warrig verhaal, maar volgens mij is dit echt een beginnersvraag. Werken met single quotes lost waarschijnlijk je probleem op. Het probleem ligt niet bij het schrijven, maar de omgang met strings.

  • F.West98
  • Registratie: Juni 2009
  • Laatst online: 31-10 03:36

F.West98

Alweer 16 jaar hier

je kan volgens mij ook een backslash doen, dat werkt wel bij single quotes...

2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI


  • josvane
  • Registratie: Oktober 2002
  • Nu online
Het is inderdaad zo simpel, een klein verschil tussen single en double quotes lost het op.

Verwijderd

Zodra je dubbele quotes doet, wordt de string eerst geparsed voordat ie naar de buffer gestuurd wordt. Dat zorgt ervoor dat, wanneer je dit doet:

PHP:
1
echo 'Hello, world!\n';


je letterlijk:

code:
1
Hello, world!\n


op je scherm krijgt. Met dubbele quotes krijg je

code:
1
2
Hello, world!
(lege regel)


Op je scherm :). Hetzelfde geldt voor alle special characters en variabelen dus ook :).

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Voor dit soort dingen is het ook wel nuttig om te kijken naar alle printf functies, waaronder in dit geval vermoedelijk fprintf of sprintf wel uitkomst zou bieden.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1