abonnement Unibet Coolblue Bitvavo
  dinsdag 17 juli 2007 @ 10:45:07 #1
18008 hornage
FOK! Movie Trivia-Prijsmeester
pi_51550771
Ik heb een website gemaakt waarvan de content via txt files geupdate kan worden.
Diegene die de website bijhoudt doet dit nu vanaf een mac, slaat dit op als unicode txt bestanden en opent hem dan op een windows pc in notepad en slaat het dan als een gewoon txt bestand op zodat de linux server waar de website op draait hem normaal in kan lezen.

De bedoeling is dat deze tussenstap er tussenuit gehaald wordt. Ik nam aan dat het enige verschil in txt bestand was dat de endline een andere code is op de mac. Blijkbaar zijn er meer dingen waar rekening mee gehouden dient te worden.

De code:
1
2
3
4
5
6
<?php
  ini_set
('auto_detect_line_endings', true);        
  
$return = file($txtpath);
  for(
$i=0;$i<sizeof($return);$i++)
    
$return[$i] = utf8_decode($return[$i]);
?>


Als ik dan een print_r() doe van $return krijg ik dit: (dit zijn de eerste twee, de rest is uiteraard net zo)
1Array ( [0] => ?ndrukwekkendenieuwbouwinEnter [1] => Culisserichtzichopproductontwikkeling


Die Byte Order Mark aan het begin pakt ie niet helemaal lekker met utf8_decode. Hiervoor had ik wel een inleesmethode die de eerste 3 bytes overslaat. De output daarvan kan ik echter niet gebruiken in file, omdat file een path naar een textfile wil hebben. Of ik zou dus eerst de textfile moeten open, aanpassen en weer opslaan. imho een beetje overdreven.

Ook pakt ie de spaties nog steeds niet lekker. Nog steeds beetje naar dus. Heeft iemand misschien nog een idee?
Test je filmkennis! Speel mee met FOK! Movie Trivia en win prijzen!
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')