Avatar billede cpccorp Juniormester
18. oktober 2014 - 15:50 Der er 3 kommentarer og
1 løsning

Kopier fil fra domæne til domæne

Jeg har følgende problemstilling:
På admin.xxxx.com har jeg en fil som jeg gerne vil have kopieret til domænet xxxx.com

Begge ligger på samme server og kan ses i samme ftp-adgang

filen ligger i rodmappen filer på admin.xxxx.com/filer/filen.pdf

filen skal kopieres/overskrive eksisterende fil(hvis findes) på domænet: xxxx.com/filemanager/repository/filer/events/

de fulde stier er
/home/www/admin.xxxx.com
/home/www/xxxx.com

Hvordan gør jeg det og hvordan skal stierne se ud i funktionen
Avatar billede repox Seniormester
18. oktober 2014 - 15:56 #1
Hvad har du prøvet?
Avatar billede cpccorp Juniormester
18. oktober 2014 - 16:04 #2
følgende funktion er prøvet

function smartCopy($source, $dest, $options=array('folderPermission'=>0755,'filePermission'=>0755))
{
$result=false;

if (is_file($source)) {
if ($dest[strlen($dest)-1]=='/') {
if (!file_exists($dest)) {
cmfcDirectory::makeAll($dest,$options['folderPermission'],true);
}
$__dest=$dest."/".basename($source);
} else {
$__dest=$dest;
}
$result=copy($source, $__dest);
chmod($__dest,$options['filePermission']);

} elseif(is_dir($source)) {
if ($dest[strlen($dest)-1]=='/') {
if ($source[strlen($source)-1]=='/') {
//Copy only contents
} else {
//Change parent itself and its contents
$dest=$dest.basename($source);
@mkdir($dest);
chmod($dest,$options['filePermission']);
}
} else {
if ($source[strlen($source)-1]=='/') {
//Copy parent directory with new name and all its content
@mkdir($dest,$options['folderPermission']);
chmod($dest,$options['filePermission']);
} else {
//Copy parent directory with new name and all its content
@mkdir($dest,$options['folderPermission']);
chmod($dest,$options['filePermission']);
}
}

$dirHandle=opendir($source);
while($file=readdir($dirHandle))
{
if($file!="." && $file!="..")
{
if(!is_dir($source."/".$file)) {
$__dest=$dest."/".$file;
} else {
$__dest=$dest."/".$file;
}
//echo "$source/$file ||| $__dest<br />";
$result=smartCopy($source."/".$file, $__dest, $options);
}
}
closedir($dirHandle);

} else {
$result=false;
}
return $result;
}

smartCopy('/home/www/xxxx.com/filer/'.$thefile,'/home/www/xxxx.com/filemanager/repository/filer/events/'.$thefile);

Men jeg der overføres intet, har prøvet denne også:

smartCopy(BASEDIR.'/filer/'.$thefile,'/home/www/xxxx.com/filemanager/repository/filer/events/'.$thefile);
Avatar billede repox Seniormester
18. oktober 2014 - 19:17 #3
Hvad med at bare gøre det simpelt? http://dk2.php.net/copy
copy('/home/www/xxxx.com/filer/'.$thefile, '/home/www/xxxx.com/filemanager/repository/filer/events/'.$thefile);

Uden alle de mærkelige ignoreringer af fejl i fin smartCopy funktion, vil du sikkert også hurtigt kunne se hvad problemet er (og jeg tænker skriverettigheder).
Avatar billede cpccorp Juniormester
19. oktober 2014 - 13:14 #4
tak det virkede, og ja det er nok nemmere at holde det simpelt

Lig et svar
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

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