Avatar billede sibbelone Nybegynder
13. december 2006 - 17:22 Der er 17 kommentarer og
1 løsning

oprette mapper

Har denne kode og funger fint hvis mappen TEST er lavet i forvejen, men det skulle gerne være således at php selv oprettede mappe og flyttede filerne over i den.
Hvis mappen ikke er oprette kommer følgende fejlmeddelse.

File (/css/design.css) could not be copied, likely a permissions problem.File (/css/design_small.css) could not be copied, likely a permissions problem.File (/css/admin_style_drop_stor.css) could not be copied, likely a permissions problem.
Ved godt at det er fordi jeg ikke har skriverettigheder til mappen, og jeg kan heller ikke via ftp give mappen skriverettigheder.
Herunder er selve scriptet håber at der er nogen der kan hjælpe

<?php

function dircpy($basePath, $source, $dest, $overwrite = false){
  if(!is_dir($basePath . $dest))
  mkdir($basePath . $dest, 0755);
  if($handle = opendir($basePath . $source)){       
     
      while(false !== ($file = readdir($handle))){
         
          if($file != '.' && $file != '..'){
              $path = $source . '/' . $file;
              if(is_file($basePath . $path)){
                 
                  if(!is_file($basePath . $dest . '/' . $file) || $overwrite)
                  if(!@copy($basePath . $path, $basePath . $dest . '/' . $file)){
                      echo '<font color="red">File ('.$path.') could not be copied, likely a permissions problem.</font>';
                  }
              } elseif(is_dir($basePath . $path)){
                  if(!is_dir($basePath . $dest . '/' . $file))
                  mkdir($basePath . $dest . '/' . $file, 0755);
                  dircpy($basePath, $path, $dest . '/' . $file, $overwrite); //recurse!
              }
          }
      }
      closedir($handle);
  }
}
$base = dirname(__FILE__);
dircpy($base, '/css', '/test', true);
?>
Avatar billede jensgram Nybegynder
13. december 2006 - 17:34 #1
Jamen du skal vel give skriverettigheder til de nyoprettede dirs:

mkdir($basePath . $dest . '/' . $file, 0755);
->
mkdir($basePath . $dest . '/' . $file, 0757);
Avatar billede jensgram Nybegynder
13. december 2006 - 17:34 #2
Eller hvad? Nu kom jeg selvfølgelig i tvivl...
Avatar billede sibbelone Nybegynder
13. december 2006 - 19:00 #3
jeg skal have skriverettigheder ja
har prøvet mange forskellig bland andet 0777 som skulle giver alle rettigheder.
men kan ikke engang gå ind og giver skrive rettighed via ftp
Avatar billede sibbelone Nybegynder
13. december 2006 - 19:05 #4
får følgende fejl meddelse når jeg prøver via ftp
der opstod en fejl under ændring af tilladelserne til filrn i mappen på ftp serveren. kontroler, at du har tilladelse til at ændre dette emne detaljer

550 test2 operation not permitted
Avatar billede jensgram Nybegynder
13. december 2006 - 19:14 #5
Har dit PHP-script rettigheder?
Avatar billede sibbelone Nybegynder
13. december 2006 - 19:18 #6
ikke forstået
Avatar billede jensgram Nybegynder
13. december 2006 - 19:41 #7
Nej, det kan jeg godt forstå :P

Ville spørge, om du har prøvet at ændre rettigheder for dit script (eksperimentér lidt).

Har du også ændret

  mkdir($basePath . $dest, 0755);

til

  mkdir($basePath . $dest, 0757);

??
Avatar billede sibbelone Nybegynder
13. december 2006 - 19:44 #8
ja jeg har prøvet uhygelig mange muligheder og efter hvad jeg kan finde ud så er den der giver flest rettigheder 0777
men har også prøvet 0755 og 0757
Avatar billede sibbelone Nybegynder
13. december 2006 - 19:44 #9
men må nok lige tage en snak med webhotellet imorgen
Avatar billede jensgram Nybegynder
13. december 2006 - 19:46 #10
Ja, 0777 er alt, men jeg plejer ikke at have behov for at ændre noget for den midterste (group). Må dog indrømme, at mit kendskab til chmod etc. er meget begrænset.
Avatar billede sibbelone Nybegynder
13. december 2006 - 19:46 #11
Der er en side der fortælle om de rettigheder man kan sætte
http://catcode.com/teachmod/index.html
Avatar billede sibbelone Nybegynder
13. december 2006 - 19:51 #12
har også prøve 0644 som kun giver skrive rettigheder
ps. mit kendskab kan også ligge på et meget lille sted
men skal kunne oprette en mappe og fylde noget indhold i når en kunde oprette sig.
Avatar billede jensgram Nybegynder
13. december 2006 - 21:08 #13
mkdir($basePath . $dest, 0757);  gav heller intet resultat?
Avatar billede sibbelone Nybegynder
13. december 2006 - 23:54 #14
nope
Avatar billede jensgram Nybegynder
14. december 2006 - 00:12 #15
hmm - pas
Avatar billede sibbelone Nybegynder
14. december 2006 - 01:20 #16
Så var den der og vil gerne giver dig de 100 point så gør hvad der skal gøres for at jeg kan giver dig dem
<?php
$firmaid = 21;
$dir = "www/leg/".$firmaid;
    $ftp_server='din.server.dk'; // ftp server
    $ftp_user_name = "brugernavn";
    $ftp_user_pass = "kode";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (ftp_mkdir($conn_id, $dir) ) {
echo "successfully created $dir\n";
} else {
echo "There was a problem while creating $dir\n";
}
$chmod_cmd="CHMOD 0777 ".$dir;
$chmod=ftp_site($conn_id, $chmod_cmd);
ftp_close($conn_id);
?>
Avatar billede jensgram Nybegynder
14. december 2006 - 08:35 #17
Smid også selv et svar og tag selv størstedelen...
Avatar billede jensgram Nybegynder
03. februar 2007 - 15:27 #18
Lukketid?
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