Jeg skal oprette en fil som består af en række bestemte chars - beskrevet i hex.
Jeg sammensætter strengen jeg gemmer i filen ved feks.: "\x00\x20\x0a" osv. Problemet er dog imidlertidigt at hver gang at jeg indsætter 0A, altså \x0a, så indsætter den automatisk \x0d foran! Hvorfor det?
Det er som at \x0a som streng bliver evalueret på en eller anden mærkelig måde.
Nej, den resulterende fil som jeg åbner, åbner jeg i en hexeditor og der kan jeg se at den blot indsætter et ekstra tegn før 0A, nemlig 0D, hvilket betyder at filen bliver een char for langt, hvilket modtager interfacet ikke forstår.
Jow, Magic Quotes er slået til, men jeg har ikke specielt lyst til at ændre i min php-opsætning. Man må da kunne omgå det på en anden måde?
Jeg kan ikke genskabe dit problem. Jeg fandt sørme en windows maskine, og uden det "b" giver det en fil på 4 bytes. Med "b" giver det een på 3 bytes som den skal.
Jeg har lige testet på windows, og fundet ud af følgende: PHP skriver det korrekte til filen, når man anvender $f=fopen("hhh","wb"); Problemet ligger i den editor man efterfølgende kigger i filen med. UltraEdit 9.20 spørger om man vil konvertere filen til "DOS-format" (sikkert ANSI). Hvis man svarer "ja" her til ser man fejlen, hvis man svarer "nej", ser man det forventede.
Ellers tak, jeg samler ikke på point. Og jeg ville egentlig hellere bare have løst dit problem ;)
Synes godt om
Ny brugerNybegynder
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.