Avatar billede webcreator Nybegynder
06. september 2003 - 23:12 Der er 6 kommentarer og
1 løsning

Ændre punktummer i filnavn - undtagen foran extension (fx. .exe)

Hej.

Hvis jeg har filnavnet :

myprog.ver.1.4.3.zip eller game-ver.1.4-2.exe, hvordan for jeg så omdøbt det til myprog_ver_1_4_3.zip eller game-ver_1_4-2.exe ?

Det er til et upload-script, hvor jeg ikke er helt vild med, at filnavnet kan indeholde . - men hvis I kan argumentere for, at der ikke vil opstå problemer med den slags, så kan det jo være lige meget :)
Avatar billede bearhugx Nybegynder
06. september 2003 - 23:27 #1
webcreator - jeg kan ikke se at det skulle være noget ivejen med at bruge [dot] i  filnavne - gør det selv hele tiden :-)))
Avatar billede googolplex Novice
07. september 2003 - 02:24 #2
Men ellers...

<?php

$test = 'test1.test2.test3.test4.test5';
$test = str_replace('.', '_', $test);
$pos = strrpos($test, '_');
$test = substr_replace($test, '.', $pos, 1);
echo $test;

?>
Avatar billede bearhugx Nybegynder
07. september 2003 - 02:31 #3
ikke for at være krakilsk -- men

  bla.bla.bla.exe_patch

vil så ikke blive til

  bla_bla_bla_exe.patch
Avatar billede googolplex Novice
07. september 2003 - 02:41 #4
Ja selvfølgelig, det jeg har lavet gælder kun det eksempel han kom med. Kan dog ikke helt se hvorfor man overhovedet skulle gøre det :)
Avatar billede bearhugx Nybegynder
07. september 2003 - 02:44 #5
I know... - men jeg kom bare til at tænke på muligheden, hvor _ kunne indgå som en helt legitim del af extension...

så min første tanke var at isolere ext først - derefter omforme "roden" af filnavnet - og så smække ext på bagefter igen...
Avatar billede googolplex Novice
07. september 2003 - 02:47 #6
Ja, jeg har faktisk et script liggende som gør det, men det havde jeg ikke lige fundet da jeg strikkede det andet sammen :P
Avatar billede googolplex Novice
07. september 2003 - 02:51 #7
$filnavn = 'test1.test2.test3.test4.test5';
$pos = strrpos($filnavn, '.');
$foerpos = substr($filnavn, 0, $pos);
$foerpos = str_replace('.', '_', $foerpos);
$efterpos = substr($filnavn, $pos + 1, strlen($filnavn) - ($pos + 1));
$filnavn = $foerpos . '.' . $efterpos;
echo $filnavn;

Mon det funker ?

Nå, er træt, vil i seng :P
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