亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 3761 | 回復: 11
打印 上一主題 下一主題

[文件] 送給大家一個php寫的xcopy....希望大家喜歡... [復制鏈接]

論壇徽章:
1
榮譽版主
日期:2011-11-23 16:44:17
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2005-06-28 15:45 |只看該作者 |倒序瀏覽
送給大家一個php寫的xcopy....

  1. <?php
  2. //xcopy: dir2dir, file2file, file2dir, for windows... by zyme
  3. function xcopy($source, $dest)
  4. {
  5.         if ( !file_exists($source) )
  6.         {
  7.                 return "error: $source is not exist!";
  8.         }
  9.         if ( is_dir($source) )
  10.         {
  11.                 if ( file_exists($dest) AND !is_dir($dest) )
  12.                 {
  13.                         return "error: $dest is not a dir!";
  14.                 }
  15.                 if ( !file_exists($dest) )
  16.                 {
  17.                         mkdir($dest);
  18.                 }
  19.                 $od = opendir($source);
  20.                 while ( $one = readdir($od) )
  21.                 {
  22.                         if ( $one=="." OR $one==".." )
  23.                         {
  24.                                 continue;
  25.                         }
  26.                         $result = xcopy($source."\\".$one, $dest."\\".$one, $oncemore=true);
  27.                         if ( $result !== true )
  28.                         {
  29.                                 return $result;
  30.                         }
  31.                 }
  32.                 closedir($od);
  33.         }
  34.         else
  35.         {
  36.                 if ( file_exists($dest) AND is_dir($dest) )
  37.                 {
  38.                         if ( func_num_args()>;2 AND $oncemore===true )
  39.                         {
  40.                                 return "error: $dest is a dir!";
  41.                         }
  42.                         $result = xcopy($source, $dest."\\".basename($source), $oncemore=true);
  43.                         if ( $result !== true )
  44.                         {
  45.                                 return $result;
  46.                         }
  47.                 }
  48.                 else
  49.                 {
  50.                         copy($source, $dest); touch($dest, filemtime($source));
  51.                 }
  52.         }
  53.         return true;
  54. }
  55. ?>;
復制代碼

[ 本帖最后由 HonestQiao 于 2006-6-7 21:55 編輯 ]

論壇徽章:
0
2 [報告]
發(fā)表于 2005-06-28 15:49 |只看該作者

送給大家一個php寫的xcopy....希望大家喜歡...

我好喜歡
但是請教摟豬

$result = xcopy($source."\\".$one, $dest."\\".$one, $oncemore=true);
這段里面,$oncemore這第三個bool的值的參數怎么來的?
還有遞歸調用自己是怎么回事?

謝謝大大

論壇徽章:
1
榮譽版主
日期:2011-11-23 16:44:17
3 [報告]
發(fā)表于 2005-06-28 15:51 |只看該作者

送給大家一個php寫的xcopy....希望大家喜歡...

大家還可以擴展些功能,比如像console下的打印copy的細節(jié)呀,加開關吧...
UNIX下就不用它了,用unix命令更好.....

論壇徽章:
0
4 [報告]
發(fā)表于 2005-06-28 16:07 |只看該作者

送給大家一個php寫的xcopy....希望大家喜歡...

Xcopy
復制文件和目錄,包括子目錄。

xcopy source [destination] [/w]

[/c] [/v] [/q] [/f] [/l] [/d[]] [/s [/e]] [/t] [/k] [/r] [/h] [/a|/m] [/n] [/exclude] [/y | /-y] [/z]

參數

source

指定要復制的文件的位置和名稱。該參數必須包含驅動器或路徑。

destination

指定要復制的文件的目標。該參數可以包含驅動器盤符和冒號、目錄名、文件名或者組合。

/w

在開始復制文件之前將顯示以下消息并等待您的響應:

Press any key to begin copying file(s)

/p

提示您確認是否要創(chuàng)建每個目標文件。

/c

忽略錯誤。

/v

在寫入目標文件時驗證每個文件,以確保目標文件與源文件完全相同。因為該功能是 Windows 2000 操作系統(tǒng)固有的,所以將忽略該開關。接受該開關只是為了與以前版本的 MS-DOS 兼容性。

/q

禁止顯示 xcopy 消息。

/f

復制時顯示源文件名和目標文件名。

/l

不復制文件,僅顯示(列出)要復制的文件。

/d[]

只復制那些在指定日期或指定日期之后更改過的源文件。如果 date 值丟失,xcopy 將復制所有比現(xiàn)存 destination 文件時間新的 source 文件。該選項使您可以只更新更改過的文件。如果指定了日期,請使用連字符 (-) 作為分隔符而不是使用正斜杠 (/),以便日期不會解釋為另一個參數。

/u

只從 source 復制(更新) destination 中已有的文件。

/i

如果 source 是目錄或包含通配符,并且不存在 destination,xcopy 將假定 destination 指定目錄名并創(chuàng)建新目錄,然后將所有指定的文件復制到新目錄中。默認情況下,xcopy 將提示您指定 destination 是文件還是目錄。

/s

復制非空的目錄和子目錄。如果省略此開關,xcopy 將在一個目錄中工作。

/e

復制所有子目錄,包括空目錄。與 /s 和 /t 開關一起使用。

/t

只復制子目錄結構(樹),而不復制文件。要復制空目錄,必須包含 /e 開關。

/k

復制文件,如果源文件具有只讀屬性,則在目標文件中保留該屬性。默認情況下,刪除只讀屬性。

/r

復制時跳過只讀文件。

/h

復制具有隱藏和系統(tǒng)文件屬性的文件。xcopy 命令在默認情況下不復制隱藏文件或系統(tǒng)文件。

/a

只復制那些具有存檔文件屬性設置的源文件。該開關不修改源文件的存檔文件屬性。有關如何設置存檔文件屬性的信息,請查看 attrib 命令。

/m

復制具有存檔文件屬性設置的源文件。與 /a 開關不同,/m 開關關閉源中指定的文件的存檔文件屬性。有關如何設置存檔文件屬性的信息,請單擊“相關主題”列表 [JG1] 中的 attrib 。

/n

使用 NTFS 短文件或目錄名復制。當將文件或路徑從 NTFS 卷復制到 FAT 卷或者當目標卷需要 FAT 文件系統(tǒng)命名約定 (8.3) 時,必需該開關。目標文件系統(tǒng)可以是 FAT 或 NTFS。

/exclude:filename

排除對指定文件中列出的文件進行復制操作。排除的文件可以擁有排除樣式列表(每行一個,不支持通配符)。如果文件中某個排除樣式與主題文件路徑的任何部分匹配,將不復制該文件。

/y

禁止提示您確認要覆蓋現(xiàn)存目標文件。

/y 開關可以在 COPYCMD 環(huán)境變量中預置。該開關可以由命令行上的 /-y 替代。默認為在覆蓋時提示,除非 copy 命令從批處理腳本內部執(zhí)行。

要附加文件,請指定單個目標文件,多個源文件(使用通配符或文件 1 + 文件 2 + 文件 3 格式)。

/-y

提示您確認是否要替代現(xiàn)存的目標文件。

/z

以可重啟模式中通過網絡復制。如果在復制階段連接丟失(例如,如果服務器脫機切斷連接),將在重新建立連接后繼續(xù)復制。使用該命令開關還會顯示每個文件完成的復制操作的百分比。

論壇徽章:
0
5 [報告]
發(fā)表于 2005-06-28 16:21 |只看該作者

送給大家一個php寫的xcopy....希望大家喜歡...

<?php
/**
* Copy a file, or recursively copy a folder and its contents
*
* @author      Aidan Lister <aidan@php.net>;
* @version     1.0.1
* @param       string   $source    Source path
* @param       string   $dest      Destination path
* @return      bool     Returns TRUE on success, FALSE on failure
*/
function copyr($source, $dest)
{
    // Simple copy for a file
    if (is_file($source)) {
        return copy($source, $dest);
    }

    // Make destination directory
    if (!is_dir($dest)) {
        mkdir($dest);
    }

    // Loop through the folder
    $dir = dir($source);
    while (false !== $entry = $dir->;read()) {
        // Skip pointers
        if ($entry == '.' || $entry == '..') {
            continue;
        }

        // Deep copy directories
        if ($dest !== "$source/$entry" {
            copyr("$source/$entry", "$dest/$entry";
        }
    }

    // Clean up
    $dir->;close();
    return true;
}

?>;

論壇徽章:
0
6 [報告]
發(fā)表于 2005-06-28 16:22 |只看該作者

送給大家一個php寫的xcopy....希望大家喜歡...

php自己人寫的,url在此:
http://aidan.dotgeek.org/lib/?file=function.copyr.php

論壇徽章:
0
7 [報告]
發(fā)表于 2005-06-28 17:01 |只看該作者

送給大家一個php寫的xcopy....希望大家喜歡...

shhit,這個人的代碼有問題
如果file folder的name和file的name一樣的時候
就會判斷出錯
所以說還是樓豬的代碼好啊。
雖然看不懂bool值

論壇徽章:
0
8 [報告]
發(fā)表于 2005-06-28 17:04 |只看該作者

送給大家一個php寫的xcopy....希望大家喜歡...

here is another version, with recursion check and status inheritance:
function deep_copy($source,$dest){
if(!file_exists($source))return FALSE;
if(!is_dir($source))return copy($source,$dest);
else{
if(strpos(realpath($dest),realpath($source))===0)return FALSE;
if(!(file_exists($dest)&&is_dir($dest))&&!mkdir($dest))return FALSE;
$b=TRUE;
if ($handle = opendir($source)) {
while (false !== ($file = readdir($handle))){
if($file!="."&&$file!=".."$b=$b&&deep_copy("$source/$file","$dest/$file";
}
closedir($handle);
}
else return FALSE;
return $b;
}
}

論壇徽章:
0
9 [報告]
發(fā)表于 2005-07-03 14:12 |只看該作者

送給大家一個php寫的xcopy....希望大家喜歡...

用樓主寫的我PHP直接執(zhí)行是執(zhí)行了,但是拷貝有問題! 里面一層文件夾里的文件沒拷進去! 用reffo推薦的deep_copy就成功了, 樓主還是檢查檢查函數吧.......

論壇徽章:
1
榮譽版主
日期:2011-11-23 16:44:17
10 [報告]
發(fā)表于 2006-06-07 10:36 |只看該作者
我寫的xcopy能用的,安全的,注意從論壇上copy出來的代碼,要把“大于符號 加 分號”換成“大于符號”,這是論壇的BUG吧...
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP