Avatar billede dank Nybegynder
03. marts 2004 - 11:42 Der er 8 kommentarer

anførselstegn og abostroffer

Har et lille problem:

$str="her er en lille 'tekst'";
$shellstring="echo '$str' >> min.unix.fil";
shell_exec($shellstring);

Der sker det at shell opfatter dette som

echo 'her er en lille'

og så stoppe echo kommandoen, fordi den møder en abostrof igen.

Hvordan løser man det?
Avatar billede erikjacobsen Ekspert
03. marts 2004 - 11:49 #1
Prøv

  $str=addslashes("her er en lille 'tekst'");
Avatar billede dank Nybegynder
03. marts 2004 - 12:11 #2
Tak.. Hvor har jeg iøvrigt kæmpet med dette :))
Avatar billede erikjacobsen Ekspert
03. marts 2004 - 12:17 #3
addslashes er egentlig beregnet til databasebrug, men jeg mener ikke den laver
ulykker i shell-sammenhæng. Hvad med at flytte til Århus og få et kontor ved
siden af mit ;))

Som vanligt: jeg samler ikke point. Man kan jo ikke tage dem med sig ;)
Avatar billede dank Nybegynder
03. marts 2004 - 13:20 #4
Ja det kunne være fint :) Århus er jo også en  dejlig by :)
Avatar billede dank Nybegynder
03. marts 2004 - 13:24 #5
Har iøvrigt stadig lidt problemer. I et andet tilfælde har jeg en insert i $sqlstring. Mit eneste mål er egentligt bare at få en tekst log fil over de inserts jeg har lavet.

$sqlstring"INSERT INTO `abc``..... DATE_ADD('1970-01-01 00:00:00', INTERVAL $data[5] SECOND),'$data[6]' .... ";

$shellstring=addslashes("echo '$sqlstring' >> insert.log");
shell_exec($shellstring);

Men uanset hvad jeg gør, så fortolker shell det som om echo'en bliver afbrudt ved første abostrof.

Nogen idéer?
Avatar billede dank Nybegynder
03. marts 2004 - 13:30 #6
Hov. Er glemt at sige at det er løst med pear::file's File::writeLine()

Der løser problemet. Men da dette er en "workaround" er jeg stadig intereseret i hvad jeg gør galt hvis nogen kan se det.
Avatar billede erikjacobsen Ekspert
03. marts 2004 - 14:23 #7
ikke addslases på på echo-en, men på $sqlstring
Avatar billede dank Nybegynder
03. marts 2004 - 14:36 #8
Jeg har siddet for lang tid med dette lille problem tror jeg :o)

Tak for hjælpen.
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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