Avatar billede winamillion Nybegynder
24. februar 2008 - 12:49 Der er 10 kommentarer

Problemer med unlink og danske tegn!

Hej jeg har et problem med unlink() og æøå.

Har en fil der ved navn er: råd.jpg,
jeg har sat charset til det passende så råd bliver vist fint nok,
men lige så snart jeg skal slette filen råd.jpg med unlink() er den gal, så får jeg følgende:

warning unlink ( råd.jpg) cannot find file etc etc.

anyone?
Avatar billede michael_stim Ekspert
24. februar 2008 - 12:52 #1
Lad være med at døbe dine billeder, filer, mapper osv med æ,ø,å, mellemrum osv ;o)
Avatar billede michael_stim Ekspert
24. februar 2008 - 12:53 #2
Hvis det er noget folk uploader, så lav et array med de "forbudte" ord og kør en str_replace på dem.
Avatar billede michael_stim Ekspert
24. februar 2008 - 12:57 #3
$fra=array("æ","ø","å"," ");
$til=array("ae","oe","aa","_");

$tekst=str_replace($fra, $til, $tekst);

Så er det bare a udbygge arrayet med de bogstaver du har lyst til. Og vil du have teksten med de rigtige bogstaver på hjemmesiden, vender du bare på den.
Avatar billede winamillion Nybegynder
24. februar 2008 - 12:58 #4
Mange gange tusinde tak. You got the points :)
Avatar billede winamillion Nybegynder
24. februar 2008 - 13:00 #5
Hvordan giver jeg dig dine point?
Avatar billede michael_stim Ekspert
24. februar 2008 - 13:02 #6
Samler ikke på point, så læg selv et svar og accepter ;o)
Avatar billede michael_stim Ekspert
24. februar 2008 - 13:07 #7
function konverter($tekst){
  $fra=array("æ","ø","å"," ");
  $til=array("ae","oe","aa","_");
  $tilbage=str_replace($fra, $til, $tekst);
  return $tilbage;
}

Det er lettere at have med at gøre. Så kalder du bare funktionen hver gang.
Avatar billede winamillion Nybegynder
24. februar 2008 - 13:11 #8
Problemet kan løses sådan:
$fra=array("æ","ø","å"," ");
$til=array("ae","oe","aa","_");

$tekst=str_replace($fra, $til, $tekst);

Og hvis du skal bruge det som en funktion:
function konverter($tekst){
  $fra=array("æ","ø","å"," ");
  $til=array("ae","oe","aa","_");
  $tilbage=str_replace($fra, $til, $tekst);
  return $tilbage;
}
Avatar billede olebole Juniormester
24. februar 2008 - 14:06 #9
<ole>

- eller den PHP-funktion, der præcis er beregnet til at oversætte strenge 'string translate' eller strtr:

$aRepl = array(
    "æ" => "ae",
    "ø" => "oe",
    "å" => "aa"
);
$str = strtr($str, $aRepl);

Se evt: http://dk2.php.net/manual/da/function.strtr.php

Bemærk dog, at det ikke altid lader sig gøre at skifte specialtegn ved upload. Vi har her i kategorien før set eksempler på, at upload-processen gik i ged. Den eneste rigtig gode løsning er at validere filnavnet - og bede brugeren ændre det, hvis det indeholder specialtegn  ;o)

/mvh
</bole>
Avatar billede olebole Juniormester
24. februar 2008 - 14:08 #10
- og på et eller andet tidspunkt _må_ brugerne jo lære, at specialtegn i filnavne ikke dur i forbindelse med Internettet ... eller måske burde man sige _heller_ ikke i forbindelse med Internettet  =)
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