Avatar billede dragonbook Nybegynder
12. februar 2005 - 18:53 Der er 7 kommentarer og
1 løsning

copy(.txt)

Jeg bruger følgende måde til at kopiere en txt fil til et andet sted på min server.

<?php
copy("../fil/db.txt", "backup/db.txt");
?>

Jeg står nu i den situation at jeg har en række txt-filer som befinder sig i den samme mappe. Disse vil jeg gerne have kopieret til en backup mappe. Men filerne bliver genereret automatisk, så jeg har ingen mulighed for at vide hvor mange der er eller hvad de hedder.

Er det muligt at evt. omskrive koden så den automatisk kan kopierer alle txt filer i mappen over i en anden mappe og gerne til kun én txt-fil ?

Håber I kan hjælpe !
Avatar billede coderdk Praktikant
12. februar 2005 - 19:24 #1
$files = glob( '../fil/*.txt' );
    foreach( $files as $file )
    {
        $txt = file_get_contents( $file );
        $fp = fopen( 'backup/db.txt', 'a' );
        fwrite( $fp, $txt );
        fclose( $fp );
    }
Avatar billede dragonbook Nybegynder
12. februar 2005 - 20:13 #2
Det virker helt fint !

Men er det muligt at man evt. kan få scriptet til at opsætte db.txt filen lidt?

Således at man kan se hvad filerne hedder og lave lidt afstande.

Filindholdet i db.txt ser nu således ud:

Indhold i 1.txtIndhold i 2.txtIndhold i 3.txtIndhold i 4.txtIndhold i 5.txt

Kunne man få det til at se sådan ud:

1.txt

Indhold i 1.txt

2.txt

Indhold i 2.txt

3.txt

Indhold i 3.txt

osv.
Avatar billede coderdk Praktikant
12. februar 2005 - 20:46 #3
$files = glob( '../fil/*.txt' );
    foreach( $files as $file )
    {
        $txt = basename( $file ) . "\n\n";
        $txt .= file_get_contents( $file ) . "\n\n";
        $fp = fopen( 'backup/db.txt', 'a' );
        fwrite( $fp, $txt );
        fclose( $fp );
    }
Avatar billede dragonbook Nybegynder
12. februar 2005 - 21:09 #4
Det er bare rigtigt godt lige som det skulle være :-)

Der er dog lige en ting, kan man få scriptet til at overskrive db.txt filen hver gang man køre den, så der kun er en opdateret kopi i filen ?
Avatar billede coderdk Praktikant
12. februar 2005 - 21:10 #5
Ændr 'a' til 'w' i fopen
Avatar billede coderdk Praktikant
12. februar 2005 - 21:10 #6
Eller nej hold on
Avatar billede coderdk Praktikant
12. februar 2005 - 21:11 #7
Sådan:

    unlink( 'backup/db.txt' );
    $files = glob( '../fil/*.txt' );
    foreach( $files as $file )
    {
        $txt = basename( $file ) . "\n\n";
        $txt .= file_get_contents( $file ) . "\n\n";
        $fp = fopen( 'backup/db.txt', 'a' );
        fwrite( $fp, $txt );
        fclose( $fp );
    }
Avatar billede dragonbook Nybegynder
12. februar 2005 - 21:20 #8
MANGE TAK det er bare helt perfekt nu !!!!

Tak for god og hurtig hjælp !
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