コード例 #1
0
ファイル: fn.uc_functions.php プロジェクト: askzap/ultimate
 /**
  * Copy file taking into account accessibility via php/ftp
  *
  * @param string $source source file
  * @param string $dest destination file/directory
  * @return boolean true if directory copied correctly, false - otherwise
  */
 function fn_uc_copy($source, $dest)
 {
     $result = false;
     $file_name = fn_basename($source);
     if (!file_exists($dest)) {
         if (fn_basename($dest) == $file_name) {
             // if we're copying the file, create parent directory
             fn_uc_mkdir(dirname($dest));
         } else {
             fn_uc_mkdir($dest);
         }
     }
     fn_echo(' .');
     if (is_writable($dest) || is_writable(dirname($dest)) && !file_exists($dest)) {
         if (is_dir($dest)) {
             $dest .= '/' . fn_basename($source);
         }
         $result = copy($source, $dest);
         fn_uc_chmod_file($dest);
     }
     if (!$result && is_resource(Registry::get('ftp_connection'))) {
         // try ftp
         $result = fn_uc_ftp_copy($source, $dest);
     }
     if (!$result) {
         fn_set_notification('E', __('error'), __('cannot_write_file', array('[file]' => $dest)));
     }
     return $result;
 }
コード例 #2
0
ファイル: source_restore.php プロジェクト: arpad9/bygmarket
/**
 * Copy file taking into account accessibility via php/ftp
 *
 * @param string $source source file
 * @param string $dest destination file/directory
 * @return boolean true if directory copied correctly, false - otherwise
 */
function fn_copy($source, $dest)
{
    $result = false;
    $file_name = basename($source);
    if (!file_exists($dest)) {
        if (basename($dest) == $file_name) {
            // if we're copying the file, create parent directory
            fn_mkdir(dirname($dest));
        } else {
            fn_mkdir($dest);
        }
    }
    fn_echo(' .');
    if (is_writable($dest) || is_writable(dirname($dest)) && !file_exists($dest)) {
        if (is_dir($dest)) {
            $dest .= '/' . basename($source);
        }
        $result = copy($source, $dest);
        fn_uc_chmod_file($dest);
    }
    if (!$result) {
        // try ftp
        $result = fn_uc_ftp_copy($source, $dest);
    }
    return $result;
}
コード例 #3
0
/**
 * Copy file taking into account accessibility via php/ftp
 *
 * @param string $source source file
 * @param string $dest destination file/directory
 * @return boolean true if directory copied correctly, false - otherwise
 */
function fn_uc_copy($source, $dest)
{
    $result = false;
    $file_name = basename($source);
    if (!file_exists($dest)) {
        if (basename($dest) == $file_name) {
            // if we're copying the file, create parent directory
            fn_uc_mkdir(dirname($dest));
        } else {
            fn_uc_mkdir($dest);
        }
    }
    fn_echo(' .');
    if (fn_uc_is_writable_dest($dest) || fn_uc_is_writable_dest(dirname($dest)) && !file_exists($dest)) {
        if (is_dir($dest)) {
            $dest .= '/' . basename($source);
        }
        $result = copy($source, $dest);
        @chmod($dest, DEFAULT_FILE_PERMISSIONS);
    } else {
        // try ftp
        $result = fn_uc_ftp_copy($source, $dest);
    }
    return $result;
}