/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
PHP Script til at rename filer i directori~
Fra : F.Larsen


Dato : 25-08-02 13:50

Hej

Er ved at flytte et web site til apache server med PHP4. Der er tonsvis af
links der ikke virker fordi filnavne nu er case-sensitive.

Findes der et script, f.eks. i PHP der kan tage filerne i en folder og
re-name den til lowercase...(har kun FTP adgang til server ;=)

--
Flemming




 
 
Peter Brodersen (25-08-2002)
Kommentar
Fra : Peter Brodersen


Dato : 25-08-02 15:16

On Sun, 25 Aug 2002 14:50:10 +0200, "F.Larsen" <n0spam@spamfilter.dk>
wrote:

>Findes der et script, f.eks. i PHP der kan tage filerne i en folder og
>re-name den til lowercase...(har kun FTP adgang til server ;=)

Det er i hvert fald let at lave.

Kig på:

http://www.php.net/manual/en/class.dir.php
(for at tilgå et katalog og læse filnavne deri)

http://www.php.net/manual/en/function.strtolower.php
(for at ændre en string - fx et filnavn hentet vha. ovenstående klasse
- til små bogstaver)

http://www.php.net/manual/en/function.rename.php
(for at omdøbe en fil fra sit oprindelige navn til sit nye navn)

--
- Peter Brodersen

Jonas Koch Bentzen (25-08-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 25-08-02 15:53

Peter Brodersen skrev:
> On Sun, 25 Aug 2002 14:50:10 +0200, "F.Larsen" <n0spam@spamfilter.dk>
> wrote:
>
>
>>Findes der et script, f.eks. i PHP der kan tage filerne i en folder og
>>re-name den til lowercase...(har kun FTP adgang til server ;=)
>
>
> Det er i hvert fald let at lave.

PHP'en, ja - men der er andre problemer. Typisk vil Apache-brugeren ikke
have ret til at skrive i filerne. Så skal man til at chmod'e hele
baduljen 777, hvilket ikke kan lade sig gøre, hvis ens FTP-program ikke
kan chmod'e rekursivt.

Flemming, hvorfor ikke bare omdøbe filerne på din lokale maskine og
dernæst oploade dem til den nye server? Du kan sikkert finde et eller
andet program til omdøbning på Tucows eller freshmeat.net.


F.Larsen (25-08-2002)
Kommentar
Fra : F.Larsen


Dato : 25-08-02 20:01

"Jonas Koch Bentzen" <ingen.email@eksempel.dk> wrote in message
news:3D68EF5B.6010500@eksempel.dk...
> Flemming, hvorfor ikke bare omdøbe filerne på din lokale maskine og
> dernæst oploade dem til den nye server? Du kan sikkert finde et eller
> andet program til omdøbning på Tucows eller freshmeat.net.
>

Jeg har fået skruet et script sammen ... tak for de fine tips Peter :=)
Jeg ville jo undgå at uploade det hele igen (~1GB) men jeg er løbet ind i
rettighedsproblemet som du rigtig nok skriver . er det muligt at telnette
til serveren og udføre PHP scriptet per kommand line ? jeg har ikke så meget
erfaring med apache/linux ...

Jeg kunne også lavde det i perl, men jeg tror nu ikke det ændre så meget !

--
Flemming



Niels Andersen (25-08-2002)
Kommentar
Fra : Niels Andersen


Dato : 25-08-02 20:24

F.Larsen wrote in <xO9a9.16069$ww6.2079505@news010.worldonline.dk>:
> er det muligt at telnette
> til serveren og udføre PHP scriptet per kommand line ? jeg har ikke så
> meget erfaring med apache/linux ...
>
> Jeg kunne også lavde det i perl, men jeg tror nu ikke det ændre så meget !

Hvis du har telnet (eller ssh) og Perl til rådighed, så er det meget nemt.

"cd" til mappen med alle filerne i.

find . -print0 | xargs -0 rename 'y/A-Z/a-z/'

"rename" er et perlscript, som plejer at være tilgængeligt, når perl er
installeret.

Et eksempel fra "rename"-manualen:

To translate uppercase names to lower, you'd use
rename 'y/A-Z/a-z/' *

"find ." giver en liste over alle filer (og mapper osv.) i den aktuelle
mappe, og alle undermapper.
"| xargs rename" gør, at rename bliver kørt på alt hvad find finder.
"-print0" og "-0" fjerne problemer med sjove tegn i filnavne, som mellem,
linjeskift osv.

--
Mvh.

Niels Andersen
(la nels. anersyn.)

F.Larsen (26-08-2002)
Kommentar
Fra : F.Larsen


Dato : 26-08-02 08:14

"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:C9aa9.16288$ww6.2083807@news010.worldonline.dk...
>
> find . -print0 | xargs -0 rename 'y/A-Z/a-z/'

Okay, det lyder jo som en nem løsning. Jeg vil så prøve at få telnet
adgang - bare i en begrænset periode f.eks..
Er der nogen sikkerheds problemer i det for udbyderen ? idet der ligger
andre kunder på den samme server - eller kan det nemt sættes op så jeg har
min egen sandkasse at rode rundt i.

Hvor kan jeg finde dokumentation på disse linux command'er
(find,print,xargs?) <+>?

--
Flemming




Niels Andersen (26-08-2002)
Kommentar
Fra : Niels Andersen


Dato : 26-08-02 11:09

F.Larsen wrote in <dyka9.20941$ww6.2155566@news010.worldonline.dk>:
>> find . -print0 | xargs -0 rename 'y/A-Z/a-z/'
> Hvor kan jeg finde dokumentation på disse linux command'er
> (find,print,xargs?) <+>?

Det, erfarne bruger gør er, at skrive:
man find

"man" er en forkortelse for "manual", og kommandoen viser dig manualen for
kommandoen.
Tryk "q" for at komme ud igen.

Men det er ikke nemt at springe ind midt i det hele, hvis du vil lære unix,
så skal du læse om det, helt fra begyndelsen.

Der er en hel stak gode, gratis bøger på dansk her:
http://sslug.dk/linuxbog

Men nu handler det slet ikke om PHP længere, har du yderligere spørgsmål vil
jeg foreslå dig at stille dem i "dk.edb.system.unix". :)

--
Mvh.

Niels Andersen
(la nels. anersyn.)

F.Larsen (26-08-2002)
Kommentar
Fra : F.Larsen


Dato : 26-08-02 18:11

"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:f7na9.21292$ww6.2180367@news010.worldonline.dk...
>
> Men nu handler det slet ikke om PHP længere, har du yderligere spørgsmål
vil
> jeg foreslå dig at stille dem i "dk.edb.system.unix". :)

okay - jeg har hentet diverse programmer og tak for de gode tips, jeg prøver
at hoppe over i unix gruppen og se hvad jeg kan finde af guldkorn der.

--
Flemming



F.Larsen (26-08-2002)
Kommentar
Fra : F.Larsen


Dato : 26-08-02 08:30

"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:C9aa9.16288$ww6.2083807@news010.worldonline.dk...
> Hvis du har telnet (eller ssh) og Perl til rådighed, så er det meget nemt.

Jeg havde faktisk allerede adgang til ssh (ssh2) (vidste det bare ikke) -
fik lige en mail fra min udbyder <duh>
Problemet er at jeg ikke har nogen ide om hvordan det fungerer :=) bruger
WinXP - Hjæp !

--
Flemming




Flemming Joensson (26-08-2002)
Kommentar
Fra : Flemming Joensson


Dato : 26-08-02 09:17

"F.Larsen" <n0spam@spamfilter.dk> wrote in
news:4Xka9.21161$ww6.2159233@news010.worldonline.dk:

>> Hvis du har telnet (eller ssh) og Perl til rådighed, så er det
>> meget nemt.
>
> Jeg havde faktisk allerede adgang til ssh (ssh2) (vidste det bare
> ikke) - fik lige en mail fra min udbyder <duh>
> Problemet er at jeg ikke har nogen ide om hvordan det fungerer :=)
> bruger WinXP - Hjæp !

Brug programmet PuTTY det er kanon til SSH og SSH2.
Hvis du er mere til det grafiske så kan programmet
"SSH Secure Shell for Workstations" også anvendes gratis (såfremt du
opfylder kravene til at måtte anvende det uden at betale).

Førstnævnte kan findes på
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Sidstnævnte finder du på www.ssh.com

Fordelen ved Putty er ud over at det faktisk er et ret avanceret
program, så skal man ikke at installere det. Det kan afvikles direkte
fra den EXE fil man downloader.

Mvh
Flemming

Niels Andersen (26-08-2002)
Kommentar
Fra : Niels Andersen


Dato : 26-08-02 11:10

F.Larsen wrote in <4Xka9.21161$ww6.2159233@news010.worldonline.dk>:
> Jeg havde faktisk allerede adgang til ssh (ssh2) (vidste det bare ikke) -
> fik lige en mail fra min udbyder <duh>
> Problemet er at jeg ikke har nogen ide om hvordan det fungerer :=) bruger
> WinXP - Hjæp !

Du åbner forbindelse til serveren (brug fx. PuTTY -
google.com/search?q=putty), og gør som jeg skrev tidligere.

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408541
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste