Avatar billede wolstrup Nybegynder
11. februar 2007 - 11:17 Der er 3 kommentarer

Kopierer filer til mappe

Har lavet et script som opretter en mappe, og skulle kopierer indholdet af en anden mappe på serveren til den nyoprettede mappe. Mappen bliver oprettet, men indholdet kopieres ikke, nogen som kan se fejlen?

<?php

$kildemappe = 'basissystem';
$destinationsmappe = 'test';

function dircopy($kildemappe, $destinationsmappe, $overskriv = true) {
  $num = 0;
  if(!is_dir($destinationsmappe)) mkdir($destinationsmappe, 0777);
  if($curdir = opendir($kildemappe)) {
  while($fil = readdir($curdir)) {
    if($fil != '.' && $fil != '..') {
      $kildefil = $kildemappe . '\\' . $fil;
      $destinationsfil = $destinationsmappe . '\\' . $fil;
      if(is_file($kildefil)) {
        if(is_file($destinationsfil)) $ow = filemtime($kildefil) - filemtime($destinationsfil); else $ow = 1;
        if($ow > 0) {
          if($overskriv) echo "Kopierer '$kildefil' til '$destinationsfil'...";
          if(copy($kildefil, $destinationsfil)) {
            touch($destinationsfil, filemtime($kildefil)); $num++;
            if($overskriv) echo "OK\n";
          }
          else echo "Fejl: Fil '$kildefil' kunne ikke kopieres!\n";
        }                 
      }
      else if(is_dir($kildefil)) {
        $num += dircopy($kildefil, $destinationsfil, $overskriv);
      }
    }
  }
  closedir($curdir);
  }
  return $num;
}


dircopy($kildemappe, $destinationsmappe, $overskriv);
?>
Avatar billede jakobdo Ekspert
11. februar 2007 - 23:56 #1
Er det ikke funktionen du har fundet på denne side: www.php.net/copy -> SkyEye
07-Oct-2006 07:21 du bruger?
Er det din egen server?
Avatar billede wolstrup Nybegynder
12. februar 2007 - 09:15 #2
Jo, det er præcis den.. Nej, kører den på unoeuro.
Avatar billede jakobdo Ekspert
12. februar 2007 - 17:00 #3
Jeg vil anbefale dig at lave lidt debug igennem din kode.
Inden if(...) skriver du f.eks..
echo "Jeg er nu før if(is_file)";

og lige efter if(is_file(..))
laver du så:
echo "Jeg er efter if(is_file())";

Så kan du hele tiden se hvor langt du kommer, inden der sker en fejl.
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