Avatar billede m-a-r-s Nybegynder
08. juli 2003 - 22:35 Der er 5 kommentarer og
1 løsning

hjælp til lille udbygning af script

Jeg har et script der gemmer en tekst-variable fra Flash til en txt-fil ("nyhedstekst.txt"), men vil gerne have udbygget scriptet sådan at variablen også gemmes præcist på samme måde i en anden txt-fil (med navnet "nyhedstekst_unicode.txt"), men hvor tekst-variablen først ændres til unicode (utf8_decode($string) ?? ).

Disse variabler kommer fra Flash:
filnavn ("nyhedstekst.txt" (navnet på txt-filen))
gem_tekst (Den lange tekst-variable)

og de nye variabler fra Flash;

filnavn_unicode
gem_tekst_unicode

og sådan ser det oprindelige script ud

<?
$filnavn = $filnavn;
   
    $fil = fopen($filnavn, "w");
    fwrite($fil, "");
    fclose($fil);

$gem_tekst = str_replace("\\", "", "$gem_tekst");

        $fp = fopen($filnavn, "a+");
        fwrite($fp, $gem_tekst);
        fclose($fp);
?>

Jeg aner så godt som intet om PHP - det ville være rart at forstå hvad "w" og "a+" gør .... resten forstår jeg sådan cirka ;-)

Hvis nogen arbejder med flash, så er grunden til at jeg ønsker den ekstra unicode-txt-fil, at disse kan vise æøå etc. rigtigt på mac's, når man importerer eksterne txt-filer.

Håber nogle kan hjælpe ..... På forhånd tak

// mars
Avatar billede sostack Nybegynder
08. juli 2003 - 23:15 #1
Prøv med:

<?
$filnavn = $filnavn;
   
    $fil = fopen($filnavn, "w"); // åbner filen for skivning og trunkerer til 0 bytes
//    fwrite($fil, ""); // overflødig linie
//    fclose($fil); // overflødig linie

$gem_tekst = str_replace("\\", "", "$gem_tekst");
$ufilnavn = explode(".", $filnavn);
$filnavn_unicode = $ufilnavn[0] . "_unicode." . $ufilnavn[1];
$gem_tekst_unicode = utf8_encode($gem_tekst);
//        $fp = fopen($filnavn, "a+"); // overflødig linie
        fwrite($fil, $gem_tekst); 
        fclose($fil);
        $fil_uni = fopen($filnavn_unicode, "w");
        fwrite($fil_uni, $gem_tekst_unicode); 
        fclose($fil_uni);

?>

//sostack
Avatar billede m-a-r-s Nybegynder
08. juli 2003 - 23:51 #2
Hej Sostack

Har jeg ret i at jeg ikke behøver at sætte se to nye variable (filnavn_unicode og gem_tekst_unicode) i Flash - jeg mener at tyde at du genererer dem i scriptet?!?

Jeg har prøvet at teste - men desværre virker det ikke - dvs. den gemmer som den skal på nyhedstekst.txt-filen, men desværre ikke på nyhedstekst_unicode.txt

Hvad gør jeg forkert ???

//mars
Avatar billede m-a-r-s Nybegynder
09. juli 2003 - 00:28 #3
jeg havde begået en dumme fejl - der skrives nu til begge filer :-)

Spørgsmål:
Kan man ikke se forskel på en tekst-streng f.eks. æøå, når den er unicodet og når den ikke er??

Min unicode'de txt-fil ligner den anden

(Hvis man f.eks. URLencoder æøå bliver det jo til %E6%F8%E5)

Burde man unicode f.eks. med UTF-16 ??? eller skal den måske hedde noget andet end txt filformat?? jeg har prøvet med .utx

??

//mars
Avatar billede sostack Nybegynder
09. juli 2003 - 00:54 #4
"Der går et føl med lædersko" bliver hos mig til:
"Der går et føl med lædersko" med utf8_encode.

//sostack
Avatar billede m-a-r-s Nybegynder
09. juli 2003 - 01:13 #5
jamen det ser jeg nu - så virker det jo :-)

en sidste ting: hvad gør "w" i scriptet

Dette er mit første spørgsmål - du skal sende et svar før jeg kan give dig dine velfortjente points?!?

Mange tak for hjælpen!!

//mars
Avatar billede sostack Nybegynder
09. juli 2003 - 07:09 #6
$fil = fopen($filnavn, "w"); // åbner filen for skivning og trunkerer til 0 bytes. D.v.s. hvis filen eksisterer, bliver den åbnet med mulighed for at skrive noget til den, eller rettere at overskrive indholdet af filen med noget andet, og hvis den ikke eksisterer, forsøges den oprettet.
Hvis man vil tilføje noget til en eksisterende fil, bruges "a" i stedet.
Se mere på http://dk.php.net/manual/en/function.fopen.php

//sostack
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